diff options
author | Matti Vaittinen <mazziesaccount@gmail.com> | 2024-04-22 09:38:33 +0300 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2024-04-23 10:39:28 +0900 |
commit | 96e20adc43c4f81e9163a5188cee75a6dd393e09 (patch) | |
tree | c78c676d903e9b9f3fbab8530c4584173d6d5825 /include | |
parent | 68adb581a39ae63a0ed082c47f01fbbe515efa0e (diff) | |
download | linux-stable-96e20adc43c4f81e9163a5188cee75a6dd393e09.tar.gz linux-stable-96e20adc43c4f81e9163a5188cee75a6dd393e09.tar.bz2 linux-stable-96e20adc43c4f81e9163a5188cee75a6dd393e09.zip |
regulator: change stubbed devm_regulator_get_enable to return Ok
The devm_regulator_get_enable() 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 and 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. Furthermore, the stub of the regulator_enable() seems to
be returning Ok.
Change the stub implementation for the devm_regulator_get_enable() to
return Ok so drivers do not separately handle the case where the
CONFIG_REGULATOR is not set.
Signed-off-by: Matti Vaittinen <mazziesaccount@gmail.com>
Reported-by: Aleksander Mazur <deweloper@wp.pl>
Suggested-by: Guenter Roeck <linux@roeck-us.net>
Fixes: da279e6965b3 ("regulator: Add devm helpers for get and enable")
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Link: https://lore.kernel.org/r/ZiYF6d1V1vSPcsJS@drtxq0yyyyyyyyyyyyyby-3.rev.dnainternet.fi
Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/regulator/consumer.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/include/linux/regulator/consumer.h b/include/linux/regulator/consumer.h index 4660582a3302..71232fb7dda3 100644 --- a/include/linux/regulator/consumer.h +++ b/include/linux/regulator/consumer.h @@ -320,7 +320,7 @@ devm_regulator_get_exclusive(struct device *dev, const char *id) static inline int devm_regulator_get_enable(struct device *dev, const char *id) { - return -ENODEV; + return 0; } static inline int devm_regulator_get_enable_optional(struct device *dev, |