[U-Boot] [PATCH] net: dm: fec: Fix regulator enable when using DM_REGULATOR

When DM_REGULATOR is enabled, the driver attempts to call regulator_autoset() which expects the regulators to be on at boot and/or always on and fails if they are not true. For a more generic approach, this patch just calls regulator_set_enable() which shouldn't have such restrictions.
Fixes: ad8c43cbcafb ("net: dm: fec: Support the phy-supply binding")
Signed-off-by: Adam Ford aford173@gmail.com
diff --git a/drivers/net/fec_mxc.c b/drivers/net/fec_mxc.c index 32fb34b793..e924ddeb6d 100644 --- a/drivers/net/fec_mxc.c +++ b/drivers/net/fec_mxc.c @@ -1327,7 +1327,7 @@ static int fecmxc_probe(struct udevice *dev)
#ifdef CONFIG_DM_REGULATOR if (priv->phy_supply) { - ret = regulator_autoset(priv->phy_supply); + ret = regulator_set_enable(priv->phy_supply, true); if (ret) { printf("%s: Error enabling phy supply\n", dev->name); return ret;

Hi Adam,
On 15/01/2019 18:26, Adam Ford wrote:
When DM_REGULATOR is enabled, the driver attempts to call regulator_autoset() which expects the regulators to be on at boot and/or always on and fails if they are not true. For a more generic approach, this patch just calls regulator_set_enable() which shouldn't have such restrictions.
Fixes: ad8c43cbcafb ("net: dm: fec: Support the phy-supply binding")
Signed-off-by: Adam Ford aford173@gmail.com
diff --git a/drivers/net/fec_mxc.c b/drivers/net/fec_mxc.c index 32fb34b793..e924ddeb6d 100644 --- a/drivers/net/fec_mxc.c +++ b/drivers/net/fec_mxc.c @@ -1327,7 +1327,7 @@ static int fecmxc_probe(struct udevice *dev)
#ifdef CONFIG_DM_REGULATOR if (priv->phy_supply) {
ret = regulator_autoset(priv->phy_supply);
if (ret) { printf("%s: Error enabling phy supply\n", dev->name); return ret;ret = regulator_set_enable(priv->phy_supply, true);
Thanks for fixing this.
Tested-by: Martin Fuzzey martin.fuzzey@flowbird.group
Regards,
Martin

On Tue, Jan 15, 2019 at 11:27 AM Adam Ford aford173@gmail.com wrote:
When DM_REGULATOR is enabled, the driver attempts to call regulator_autoset() which expects the regulators to be on at boot and/or always on and fails if they are not true. For a more generic approach, this patch just calls regulator_set_enable() which shouldn't have such restrictions.
Fixes: ad8c43cbcafb ("net: dm: fec: Support the phy-supply binding")
Signed-off-by: Adam Ford aford173@gmail.com
Acked-by: Joe Hershberger joe.hershberger@ni.com

When DM_REGULATOR is enabled, the driver attempts to call regulator_autoset() which expects the regulators to be on at boot and/or always on and fails if they are not true. For a more generic approach, this patch just calls regulator_set_enable() which shouldn't have such restrictions. Fixes: ad8c43cbcafb ("net: dm: fec: Support the phy-supply binding") Signed-off-by: Adam Ford aford173@gmail.com Tested-by: Martin Fuzzey martin.fuzzey@flowbird.group Acked-by: Joe Hershberger joe.hershberger@ni.com diff --git a/drivers/net/fec_mxc.c b/drivers/net/fec_mxc.c index 32fb34b793..e924ddeb6d 100644 --- a/drivers/net/fec_mxc.c +++ b/drivers/net/fec_mxc.c @@ -1327,7 +1327,7 @@ static int fecmxc_probe(struct udevice *dev)
#ifdef CONFIG_DM_REGULATOR if (priv->phy_supply) {
ret = regulator_autoset(priv->phy_supply);
if (ret) { printf("%s: Error enabling phy supply\n", dev->name); return ret;ret = regulator_set_enable(priv->phy_supply, true);
Applied to u-boot-imx, master, thanks !
Best regards, Stefano Babic
participants (4)
-
Adam Ford
-
Joe Hershberger
-
Martin Fuzzey
-
sbabic@denx.de