diff options
author | Ahmad Fatoum <a.fatoum@pengutronix.de> | 2020-02-20 11:01:08 +0100 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2020-02-25 09:10:40 +0100 |
commit | 45f82cde7cc1b85adbf6214452374b60d177e9e1 (patch) | |
tree | fb4db1236d14be0734751b630dacad5b6c9ec1d4 /drivers | |
parent | fa920fa5717b7b7e29cfc8eeb78c5057d860a3e6 (diff) | |
download | barebox-45f82cde7cc1b85adbf6214452374b60d177e9e1.tar.gz barebox-45f82cde7cc1b85adbf6214452374b60d177e9e1.tar.xz |
phy: populate existing ->pwr member with phy-supply
barebox already enables/disables the ->pwr regulator at the correct
places, but doesn't assign a value anywhere. Initialize it with the
phy-supply regulator like Linux does.
Signed-off-by: Ahmad Fatoum <a.fatoum@pengutronix.de>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/phy/phy-core.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/phy/phy-core.c b/drivers/phy/phy-core.c index d1f3c7fde4..ad1e814788 100644 --- a/drivers/phy/phy-core.c +++ b/drivers/phy/phy-core.c @@ -51,6 +51,16 @@ struct phy *phy_create(struct device_d *dev, struct device_node *node, phy->id = id; phy->ops = ops; + /* phy-supply */ + phy->pwr = regulator_get(&phy->dev, "phy"); + if (IS_ERR(phy->pwr)) { + ret = PTR_ERR(phy->pwr); + if (ret == -EPROBE_DEFER) + goto free_ida; + + phy->pwr = NULL; + } + ret = register_device(&phy->dev); if (ret) goto free_ida; |