On Mon, Jan 04, 2021 at 07:18:25PM +0100, Krzysztof Kozlowski wrote: > On Mon, Jan 04, 2021 at 01:51:56PM +0000, Mark Brown wrote: > > > +- charger: Node for configuring the charger driver. > > > + Required properties: > > > + - compatible: "maxim,max8997-battery" > > > + Optional properties: > > > + - extcon: extcon specifier for charging events > > > + - charger-supply: regulator node for charging current > > > +- muic: Node used only by extcon consumers. > > > + Required properties: > > > + - compatible: "maxim,max8997-muic" > > Why do these need to appear in the DT binding? We know these features > > are there simply from knowing this is a max8997. > If you refer to children nodes, then we do not know these entirely > because the features could be disabled (pins not connected). In such > case these subnodes can be disabled and MFD framework will not > instantiate children devices. We can indicate the presence of features without adding new compatible strings, that's just encoding the way Linux currently divides things up into the bindings. For example having an extcon property seems like it should be enough to figure out if we're using extcon.