Hi, On Wed, Mar 24, 2021 at 05:21:52PM +0100, H. Nikolaus Schaller wrote: > > Am 24.03.2021 um 16:42 schrieb Sebastian Reichel : > > I think the patch is also wrong, since the information is already > > described in DT - just the other way around: The battery references > > the charger. > > Just curious for other devices to be properly defined: > > Does a battery have its own driver? > Can it be addressed (through I2C or similar mechanisms)? Linux power-supply subsystem expects chargers and batteries with battery being smart battery. I guess this has been designed following the ACPI specs. On embedded devices this usually means battery = fuel gauge. > Is it closer to the processor (being the root node of DTS) or > farther away than the chargers? It depends? :) There are systems with smart batteries reachable via I2C and gpio-charger device, which cannot be controlled and just having an enable gpio (and thus being in the root node). OTOH there are systems, that lack a proper fuel gauge and have advanced I2C chargers. > My observations is that usually chargers have drivers and need to > reference battery information to adapt their behaviour. I believe you are talking about chemistry information e.t.c. that's available from the simple-battery node? > So IMHO it would be more natural to have a charger reference the > battery. Direction was not something I came up with. I took over the subsystem years ago when this was already in place. It's a core thing in the subsystem and definetly cannot be changed anymore: Documentation/devicetree/bindings/power/supply/power-supply.yaml In general sometimes the battery needs charger info and sometimes charger needs fuel gauge info. The thing is, that this does not mean we need phandles in both directions. One phandle is enough to have the required information, everything else can be handled by kernel frameworks. That's preferred, since it does not create ABI. -- Sebastian