[PATCH] regulator: core: don't call of_regulator_get with NULL argument

Marco Felsch m.felsch at pengutronix.de
Fri Dec 2 00:50:38 PST 2022


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?

> 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
> 
> 
> 



More information about the barebox mailing list