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

Sascha Hauer s.hauer at pengutronix.de
Tue Oct 20 10:09:34 EDT 2020


On Tue, Oct 20, 2020 at 03:33:17PM +0200, Marco Felsch wrote:
> Hi Uwe,
> 
> On 20-10-20 13:15, Uwe Kleine-König wrote:
> > 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;
> 
> Returning the error here can cause problems with exisiting boards, e.g.
> if the regulator support is missing for the specified vbus regulator.
> This is often the case since we have very limited regulator support for
> now.

But when there is a regulator we also have to control it, right?

Sascha


-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |



More information about the barebox mailing list