> -----Original Message-----
> From: U-Boot <u-boot-boun...@lists.denx.de> On Behalf Of Jaehoon Chung
> Sent: Wednesday, November 1, 2023 5:11 PM
> To: 'Jonas Karlman' <jo...@kwiboo.se>
> Cc: s...@chromium.org; patrice.chot...@foss.st.com; 
> eugen.hris...@collabora.com; tr...@konsulko.com; u-
> b...@lists.denx.de
> Subject: RE: [PATCH] power: regulator: Fix an handling error about EALREADY
> 
> 
> 
> > -----Original Message-----
> > From: U-Boot <u-boot-boun...@lists.denx.de> On Behalf Of Jaehoon Chung
> > Sent: Wednesday, November 1, 2023 5:07 PM
> > To: 'Jonas Karlman' <jo...@kwiboo.se>
> > Cc: s...@chromium.org; patrice.chot...@foss.st.com; 
> > eugen.hris...@collabora.com; tr...@konsulko.com;
> u-
> > b...@lists.denx.de
> > Subject: RE: [PATCH] power: regulator: Fix an handling error about EALREADY
> >
> >
> >
> > > -----Original Message-----
> > > From: Jonas Karlman <jo...@kwiboo.se>
> > > Sent: Wednesday, November 1, 2023 4:47 PM
> > > To: Jaehoon Chung <jh80.ch...@samsung.com>
> > > Cc: s...@chromium.org; patrice.chot...@foss.st.com; 
> > > eugen.hris...@collabora.com; tr...@konsulko.com;
> > u-
> > > b...@lists.denx.de
> > > Subject: Re: [PATCH] power: regulator: Fix an handling error about 
> > > EALREADY
> > >
> > > On 2023-11-01 08:23, Jaehoon Chung wrote:
> > > > If reegulator is already enabled, it will be return to EALREADY.
> > > > But driver that its function is called can notice as error, even though
> > > > it's working fine.
> > > >
> > > > Fixes: 4fcba5d556b ("regulator: implement basic reference counter")
> > > >
> > > > Signed-off-by: Jaehoon Chung <jh80.ch...@samsung.com>
> > > > ---
> > > >  drivers/power/regulator/regulator-uclass.c | 4 ++++
> > > >  1 file changed, 4 insertions(+)
> > > >
> > > > diff --git a/drivers/power/regulator/regulator-uclass.c 
> > > > b/drivers/power/regulator/regulator-
> > uclass.c
> > > > index 3a6ba69f6d5f..fc1c3eb93c9d 100644
> > > > --- a/drivers/power/regulator/regulator-uclass.c
> > > > +++ b/drivers/power/regulator/regulator-uclass.c
> > > > @@ -187,6 +187,10 @@ int regulator_set_enable(struct udevice *dev, bool 
> > > > enable)
> > > >                 }
> > > >         }
> > > >
> > > > +       /* Regulator is already enabled */
> > > > +       if (ret == -EALREADY)
> > > > +               return 0;
> > > > +
> > >
> > > Use of regulator_set_enable_if_allowed() will cover this error,
> > > and regulator_set_enable() should continue to return this error.

regulator_set_enable_if_allowed() can be covered. But regulator_set_enable is 
called in some drivers.
You means that it needs to replace to regulator_set_enable_if_allowed() from 
regulator_set_enable() about all driver?

Best Regards,
Jaehoon Chung

> 
> Well.. I will recheck about your comment.
> 
> Best Regards,
> Jaehoon Chung
> 
> >
> > When I have checked on my target, It seems that it can't cover all cases.
> >
> > On odroid-c4, USB doesn't work, even though its regulator is enabled.
> >
> > => ums 0 mmc 0
> > UMS: LUN 0, dev mmc 0, hwpart 0, sector 0x0, count 0x1dacc00
> > No USB device found
> > Couldn't init USB controller.
> >
> >
> > Best Regards,
> > Jaehoon Chung
> >
> > >
> > > Regards,
> > > Jonas
> > >
> > > >         return ret;
> > > >  }
> > > >
> >
> 


Reply via email to