Message ID | 20230419134526.128800-3-eugen.hristev@collabora.com |
---|---|
State | Accepted |
Commit | 8202bc29454cfdd5839058e4b79c36a3fbb221cf |
Delegated to: | Jaehoon Chung |
Headers | show |
Series | [v5,1/3] regulator: implement basic reference counter | expand |
On Thu, 20 Apr 2023 at 01:45, Eugen Hristev <eugen.hristev@collabora.com> wrote: > > The regulator core can return different codes which are not considered > a real error for this function. > Return success in such cases. > > Signed-off-by: Eugen Hristev <eugen.hristev@collabora.com> > --- > Changes in v5: > - this is a new patch > > drivers/power/regulator/regulator-uclass.c | 6 ++++++ > 1 file changed, 6 insertions(+) Reviewed-by: Simon Glass <sjg@chromium.org>
On 4/19/23 15:45, Eugen Hristev wrote: > The regulator core can return different codes which are not considered > a real error for this function. > Return success in such cases. > > Signed-off-by: Eugen Hristev <eugen.hristev@collabora.com> > --- > Changes in v5: > - this is a new patch > > drivers/power/regulator/regulator-uclass.c | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/drivers/power/regulator/regulator-uclass.c b/drivers/power/regulator/regulator-uclass.c > index d608f7c23657..3a6ba69f6d5f 100644 > --- a/drivers/power/regulator/regulator-uclass.c > +++ b/drivers/power/regulator/regulator-uclass.c > @@ -197,6 +197,12 @@ int regulator_set_enable_if_allowed(struct udevice *dev, bool enable) > ret = regulator_set_enable(dev, enable); > if (ret == -ENOSYS || ret == -EACCES) > return 0; > + /* if we want to disable but it's in use by someone else */ > + if (!enable && ret == -EBUSY) > + return 0; > + /* if it's already enabled/disabled */ > + if (ret == -EALREADY) > + return 0; > > return ret; > } Reviewed-by: Patrice Chotard <patrice.chotard@foss.st.com> Thanks Patrice
diff --git a/drivers/power/regulator/regulator-uclass.c b/drivers/power/regulator/regulator-uclass.c index d608f7c23657..3a6ba69f6d5f 100644 --- a/drivers/power/regulator/regulator-uclass.c +++ b/drivers/power/regulator/regulator-uclass.c @@ -197,6 +197,12 @@ int regulator_set_enable_if_allowed(struct udevice *dev, bool enable) ret = regulator_set_enable(dev, enable); if (ret == -ENOSYS || ret == -EACCES) return 0; + /* if we want to disable but it's in use by someone else */ + if (!enable && ret == -EBUSY) + return 0; + /* if it's already enabled/disabled */ + if (ret == -EALREADY) + return 0; return ret; }
The regulator core can return different codes which are not considered a real error for this function. Return success in such cases. Signed-off-by: Eugen Hristev <eugen.hristev@collabora.com> --- Changes in v5: - this is a new patch drivers/power/regulator/regulator-uclass.c | 6 ++++++ 1 file changed, 6 insertions(+)