Re: [PATCH] regulator: change devm_regulator_get_enable_optional() stub to return Ok

From: Guenter Roeck
Date: Tue Apr 23 2024 - 08:14:59 EST


On Tue, Apr 23, 2024 at 02:38:28PM +0300, Matti Vaittinen wrote:
> The devm_regulator_get_enable_optional() should be a 'call and forget'
> API, meaning, when it is used to enable the regulators, the API does not
> provide a handle to do any further control of the regulators. It gives
> no real benefit to return an error from the stub if CONFIG_REGULATOR is
> not set.
>
> On the contrary, returning an error is causing problems to drivers when
> hardware is such it works out just fine with no regulator control.
> Returning an error forces drivers to specifically handle the case where
> CONFIG_REGULATOR is not set, making the mere existence of the stub
> questionalble.
>
> Change the stub implementation for the
> devm_regulator_get_enable_optional() to return Ok so drivers do not
> separately handle the case where the CONFIG_REGULATOR is not set.
>
> Signed-off-by: Matti Vaittinen <mazziesaccount@xxxxxxxxx>
> Fixes: da279e6965b3 ("regulator: Add devm helpers for get and enable")

Reviewed-by: Guenter Roeck <linux@xxxxxxxxxxxx>

> ---
> include/linux/regulator/consumer.h | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/include/linux/regulator/consumer.h b/include/linux/regulator/consumer.h
> index 71232fb7dda3..ed180ca419da 100644
> --- a/include/linux/regulator/consumer.h
> +++ b/include/linux/regulator/consumer.h
> @@ -326,7 +326,7 @@ static inline int devm_regulator_get_enable(struct device *dev, const char *id)
> static inline int devm_regulator_get_enable_optional(struct device *dev,
> const char *id)
> {
> - return -ENODEV;
> + return 0;
> }
>
> static inline struct regulator *__must_check
>
> base-commit: f7638784bd0cf2ca9daebd47477983811f832300
> --
> 2.43.2
>
>
> --
> Matti Vaittinen, Linux device drivers
> ROHM Semiconductors, Finland SWDC
> Kiviharjunlenkki 1E
> 90220 OULU
> FINLAND
>
> ~~~ "I don't think so," said Rene Descartes. Just then he vanished ~~~
> Simon says - in Latin please.
> ~~~ "non cogito me" dixit Rene Descarte, deinde evanescavit ~~~
> Thanks to Simon Glass for the translation =]