Skip to content

Commit

Permalink
phy: phy-core: allow specifying supply at port level
Browse files Browse the repository at this point in the history
Multi-port phys may have per port power supplies. Let's change phy
core to look for supply at the port level when multiple ports are
specified. To keep compatibility with the existing device tree board
descriptions for single-port phys we will continue looking up the
power supply at the parent node level

Signed-off-by: Dmitry Torokhov <dtor@chromium.org>
Signed-off-by: Arun Ramamurthy <arun.ramamurthy@broadcom.com>
Reviewed-by: Ray Jui <rjui@broadcom.com>
Reviewed-by: Scott Branden <sbranden@broadcom.com>
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
  • Loading branch information
Dmitry Torokhov authored and Kishon Vijay Abraham I committed May 11, 2015
1 parent a666f7d commit 87006dd
Showing 1 changed file with 10 additions and 13 deletions.
23 changes: 10 additions & 13 deletions drivers/phy/phy-core.c
Original file line number Diff line number Diff line change
Expand Up @@ -683,16 +683,6 @@ struct phy *phy_create(struct device *dev, struct device_node *node,
goto free_phy;
}

/* phy-supply */
phy->pwr = regulator_get_optional(dev, "phy");
if (IS_ERR(phy->pwr)) {
if (PTR_ERR(phy->pwr) == -EPROBE_DEFER) {
ret = -EPROBE_DEFER;
goto free_ida;
}
phy->pwr = NULL;
}

device_initialize(&phy->dev);
mutex_init(&phy->mutex);

Expand All @@ -706,6 +696,16 @@ struct phy *phy_create(struct device *dev, struct device_node *node,
if (ret)
goto put_dev;

/* phy-supply */
phy->pwr = regulator_get_optional(&phy->dev, "phy");
if (IS_ERR(phy->pwr)) {
ret = PTR_ERR(phy->pwr);
if (ret == -EPROBE_DEFER)
goto put_dev;

phy->pwr = NULL;
}

ret = device_add(&phy->dev);
if (ret)
goto put_dev;
Expand All @@ -721,9 +721,6 @@ struct phy *phy_create(struct device *dev, struct device_node *node,
put_device(&phy->dev); /* calls phy_release() which frees resources */
return ERR_PTR(ret);

free_ida:
ida_simple_remove(&phy_ida, phy->id);

free_phy:
kfree(phy);
return ERR_PTR(ret);
Expand Down

0 comments on commit 87006dd

Please sign in to comment.