[PATCH v5 3/3] regulator: handle different error codes in regulator_set_enable_if_allowed
Patrice CHOTARD
patrice.chotard at foss.st.com
Thu Apr 20 08:34:27 CEST 2023
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 at 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 at foss.st.com>
Thanks
Patrice
More information about the U-Boot
mailing list