[PATCH] usb: i.MX: improve regulator handling

Uwe Kleine-König u.kleine-koenig at pengutronix.de
Tue Oct 20 07:15:37 EDT 2020


Instead of just ignoring errors related to regulator getting error out.
In case there is no regulator in the device tree, regulator_get() returns
the dummy regulator and not an error code, so the change is right for
this situation, too.

Signed-off-by: Uwe Kleine-König <u.kleine-koenig at pengutronix.de>
---
 drivers/usb/imx/chipidea-imx.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/drivers/usb/imx/chipidea-imx.c b/drivers/usb/imx/chipidea-imx.c
index 786beede6d89..dd0e3c1a2a58 100644
--- a/drivers/usb/imx/chipidea-imx.c
+++ b/drivers/usb/imx/chipidea-imx.c
@@ -267,8 +267,11 @@ static int imx_chipidea_probe(struct device_d *dev)
 	}
 
 	ci->vbus = regulator_get(dev, "vbus");
-	if (IS_ERR(ci->vbus))
-		ci->vbus = NULL;
+	if (IS_ERR(ci->vbus)) {
+		ret = ERR_PTR(ci->vbus);
+		dev_err(dev, "Cannot get vbus regulator: %s\n", strerror(-ret));
+		return ret;
+	}
 
 	/*
 	 * Some devices have more than one clock, in this case they are enabled
-- 
2.28.0




More information about the barebox mailing list