[PATCH] regulator: core: don't call of_regulator_get with NULL argument
Ahmad Fatoum
a.fatoum at pengutronix.de
Fri Dec 2 01:03:49 PST 2022
On 02.12.22 09:50, Marco Felsch wrote:
> On 22-12-01, Ahmad Fatoum wrote:
>> regulator_get calls either of_regulator_get or dev_regulator_get, both
>> of which accept a supply parameter. Only dev_regulator_get gracefully
>> handles a NULL supply by considering all registered regulators.
>
> Wouldn't it be better to align of_regulator_get behaviour with
> dev_regulator_get?
Nope, not specifying a supply id is legacy behavior. Consumers
should be expected to know the name of the supply they want to
control. In Linux, regulator_get(dev, NULL) is already an error.
>
>> of_regulator_get on the other hand, will complain at debug level,
>> before returning NULL:
>>
>> uart-pl011 fe201000.serial at 7e201000.of: No <NULL>-supply node found,
>> using dummy regulator
>>
>> Avoid this message by skipping of_regulator_get if no supply was found
>> and directly call dev_regulator_get.
>>
>> Signed-off-by: Ahmad Fatoum <a.fatoum at pengutronix.de>
>> ---
>> drivers/regulator/core.c | 2 +-
>> 1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/regulator/core.c b/drivers/regulator/core.c
>> index 4876f0f44bdd..d25aba38c3e2 100644
>> --- a/drivers/regulator/core.c
>> +++ b/drivers/regulator/core.c
>> @@ -388,7 +388,7 @@ struct regulator *regulator_get(struct device_d *dev, const char *supply)
>> struct regulator *r;
>> int ret;
>>
>> - if (dev->device_node) {
>> + if (dev->device_node && supply) {
>> ri = of_regulator_get(dev, supply);
>> if (IS_ERR(ri))
>> return ERR_CAST(ri);
>
> Nevertheless the change is correct, so:
>
> Reviewed-by: Marco Felsch <m.felsch at pengutronix.de>
>
> Regards,
> Marco
>> --
>> 2.30.2
>>
>>
>>
>
--
Pengutronix e.K. | |
Steuerwalder Str. 21 | http://www.pengutronix.de/ |
31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
More information about the barebox
mailing list