[PATCH] power: regulator: Fix regulator_enable/disable() macros
Jonas Karlman
jonas at kwiboo.se
Fri Jul 10 10:42:36 CEST 2026
Hi,
On 7/10/2026 1:16 AM, Jonas Karlman wrote:
> The commit 076265b75e61 ("compat: regulator: add enable/disable macros")
> added regulator_enable/disable() macros to provide a closer analogue to
> the Linux API.
>
> These new macros wrap regulator_set_enable() that may return detailed
> error codes and should typically not directly be called by drivers.
>
> Change the macros to wrap regulator_set_enable_if_allowed() that masks
> error codes consumers typically do not expect to closer match the
> behavior of the Linux API.
>
> Fixes: 076265b75e61 ("compat: regulator: add enable/disable macros")
> Signed-off-by: Jonas Karlman <jonas at kwiboo.se>
> ---
> include/power/regulator.h | 6 +++---
> 1 file changed, 3 insertions(+), 3 deletions(-)
>
> diff --git a/include/power/regulator.h b/include/power/regulator.h
> index b8023721a165..ea79e0240b2b 100644
> --- a/include/power/regulator.h
> +++ b/include/power/regulator.h
> @@ -371,9 +371,6 @@ int regulator_get_enable(struct udevice *dev);
> */
> int regulator_set_enable(struct udevice *dev, bool enable);
>
> -#define regulator_enable(dev) regulator_set_enable(dev, true)
> -#define regulator_disable(dev) regulator_set_enable(dev, false)
> -
> /**
> * regulator_set_enable_if_allowed: set regulator enable state if allowed by
> * regulator
> @@ -385,6 +382,9 @@ int regulator_set_enable(struct udevice *dev, bool enable);
> */
> int regulator_set_enable_if_allowed(struct udevice *dev, bool enable);
>
> +#define regulator_enable(dev) regulator_set_enable_if_allowed(dev, true)
> +#define regulator_disable(dev) regulator_set_enable_if_allowed(dev, false)
I have realized that these macros are still only defined inside the #if
CONFIG_IS_ENABLED(DM_REGULATOR) block.
Will move these macros outside the #if #else blocks in a v2.
Regards,
Jonas
> +
> /**
> * regulator_set_suspend_enable: set regulator suspend enable state
> *
More information about the U-Boot
mailing list