Commit 33f434d2 authored by Axel Lin's avatar Axel Lin Committed by Kishon Vijay Abraham I

phy: core: Check requested PHY status in _of_phy_get()

This is a common checking in various drivers, so move the checking to
_of_phy_get().
Signed-off-by: default avatarAxel Lin <axel.lin@ingics.com>
Signed-off-by: default avatarKishon Vijay Abraham I <kishon@ti.com>
parent 5bea4968
...@@ -367,13 +367,21 @@ static struct phy *_of_phy_get(struct device_node *np, int index) ...@@ -367,13 +367,21 @@ static struct phy *_of_phy_get(struct device_node *np, int index)
phy_provider = of_phy_provider_lookup(args.np); phy_provider = of_phy_provider_lookup(args.np);
if (IS_ERR(phy_provider) || !try_module_get(phy_provider->owner)) { if (IS_ERR(phy_provider) || !try_module_get(phy_provider->owner)) {
phy = ERR_PTR(-EPROBE_DEFER); phy = ERR_PTR(-EPROBE_DEFER);
goto err0; goto out_unlock;
}
if (!of_device_is_available(args.np)) {
dev_warn(phy_provider->dev, "Requested PHY is disabled\n");
phy = ERR_PTR(-ENODEV);
goto out_put_module;
} }
phy = phy_provider->of_xlate(phy_provider->dev, &args); phy = phy_provider->of_xlate(phy_provider->dev, &args);
out_put_module:
module_put(phy_provider->owner); module_put(phy_provider->owner);
err0: out_unlock:
mutex_unlock(&phy_provider_mutex); mutex_unlock(&phy_provider_mutex);
of_node_put(args.np); of_node_put(args.np);
......
...@@ -1107,11 +1107,6 @@ static struct phy *miphy28lp_xlate(struct device *dev, ...@@ -1107,11 +1107,6 @@ static struct phy *miphy28lp_xlate(struct device *dev,
struct device_node *phynode = args->np; struct device_node *phynode = args->np;
int ret, index = 0; int ret, index = 0;
if (!of_device_is_available(phynode)) {
dev_warn(dev, "Requested PHY is disabled\n");
return ERR_PTR(-ENODEV);
}
if (args->args_count != 1) { if (args->args_count != 1) {
dev_err(dev, "Invalid number of cells in 'phy' property\n"); dev_err(dev, "Invalid number of cells in 'phy' property\n");
return ERR_PTR(-EINVAL); return ERR_PTR(-EINVAL);
......
...@@ -476,11 +476,6 @@ static struct phy *miphy365x_xlate(struct device *dev, ...@@ -476,11 +476,6 @@ static struct phy *miphy365x_xlate(struct device *dev,
struct device_node *phynode = args->np; struct device_node *phynode = args->np;
int ret, index; int ret, index;
if (!of_device_is_available(phynode)) {
dev_warn(dev, "Requested PHY is disabled\n");
return ERR_PTR(-ENODEV);
}
if (args->args_count != 1) { if (args->args_count != 1) {
dev_err(dev, "Invalid number of cells in 'phy' property\n"); dev_err(dev, "Invalid number of cells in 'phy' property\n");
return ERR_PTR(-EINVAL); return ERR_PTR(-EINVAL);
......
...@@ -206,11 +206,6 @@ static struct phy *rcar_gen2_phy_xlate(struct device *dev, ...@@ -206,11 +206,6 @@ static struct phy *rcar_gen2_phy_xlate(struct device *dev,
struct device_node *np = args->np; struct device_node *np = args->np;
int i; int i;
if (!of_device_is_available(np)) {
dev_warn(dev, "Requested PHY is disabled\n");
return ERR_PTR(-ENODEV);
}
drv = dev_get_drvdata(dev); drv = dev_get_drvdata(dev);
if (!drv) if (!drv)
return ERR_PTR(-EINVAL); return ERR_PTR(-EINVAL);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment