[PATCH 4/9] power: regulator: Handle autoset in regulators_enable_boot_on()

Jonas Karlman jonas at kwiboo.se
Wed Jun 5 13:03:00 CEST 2024


Hi Simon,

On 2024-06-05 05:25, Simon Glass wrote:
> With a recent change, regulators_enable_boot_on() returns an error if a
> regulator is already set. Check for and handle this situation.

I am guessing this is being hit because of the call in veyron_init() ?

regulators_enable_boot_on() is also called for rockchip boards in the
rockchip common boards.c board_init().

Maybe the call to regulators_enable_boot_on() in veyron_init() could
be dropped?

> 
> Fixes: d99fb64a98a power: regulator: Only run autoset once for each regulator
> 
> Signed-off-by: Simon Glass <sjg at chromium.org>

Reviewed-by: Jonas Karlman <jonas at kwiboo.se>

Regards,
Jonas

> ---
> 
>  drivers/power/regulator/regulator-uclass.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/power/regulator/regulator-uclass.c b/drivers/power/regulator/regulator-uclass.c
> index 77d101f262e..d9e1fb68295 100644
> --- a/drivers/power/regulator/regulator-uclass.c
> +++ b/drivers/power/regulator/regulator-uclass.c
> @@ -518,7 +518,7 @@ int regulators_enable_boot_on(bool verbose)
>  	     dev;
>  	     uclass_next_device(&dev)) {
>  		ret = regulator_autoset(dev);
> -		if (ret == -EMEDIUMTYPE) {
> +		if (ret == -EMEDIUMTYPE || ret == -EALREADY) {
>  			ret = 0;
>  			continue;
>  		}



More information about the U-Boot mailing list