[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