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 [email protected]: 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 <[email protected]>
>> ---
>>  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 <[email protected]>
> 
> 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 |


Reply via email to