Re: [PATCH] max17042: propagate of_node to power supply device

From: Pierre Bourdon (delroth)
Date: Tue Feb 20 2018 - 12:59:03 EST


On Tue, Feb 20, 2018 at 6:34 PM, Andy Shevchenko
<andy.shevchenko@xxxxxxxxx> wrote:
> On Tue, Feb 20, 2018 at 5:03 PM, Pierre Bourdon <delroth@xxxxxxxxxx> wrote:
>> max17042_get_status uses the core power_supply_am_i_supplied. That
>> function relies on DT properties to figure out the power supply
>> topology, and will error out without DT.
>
>> + psy_cfg.of_node = dev->of_node;
>
> Perhaps do this in general manner, see how GPIOLIB takes care of it:
>
> $ git grep -n -A4 -w CONFIG_OF_GPIO -- drivers/gpio/gpiolib.c
> drivers/gpio/gpiolib.c:1161:#ifdef CONFIG_OF_GPIO
> drivers/gpio/gpiolib.c-1162- /* If the gpiochip has an assigned OF
> node this takes precedence */
> drivers/gpio/gpiolib.c-1163- if (chip->of_node)
> drivers/gpio/gpiolib.c-1164- gdev->dev.of_node = chip->of_node;
> drivers/gpio/gpiolib.c-1165-#endif
> ...

Makes sense. From a quick look in existing drivers, it looks like the
only values being used currently as psy_cfg.of_node are the nodes from
the parent device, so it seems like it could be made generic.

Are we aware of any driver that is not propagating the of_node on
purpose? Is this something that should be supported? If not, I guess
we could get rid of power_supply_config.of_node and always use the one
from the parent device in __power_supply_register.

(I'm very new to this codebase, sorry for the possibly dumb questions!)

--
Pierre Bourdon (delroth@)