On 27/10/2021 03.25, Rob Herring wrote:
On Mon, Oct 25, 2021 at 11:47:12PM +0900, Hector Martin wrote:
+ compatible:
+ items:
+ - enum:
+ - apple,t8103-pmgr
+ - apple,t8103-minipmgr
+ - const: apple,pmgr
+ - const: syscon
+ - const: simple-mfd
'simple-mfd' means 'there's nothing in this node that any of the child
nodes depend on'. You should be somewhat certain as dropping it later
creates compatibility issues.
Hmm, I see simple-mfd turns this into a bus which I guess allows child
nodes to be probed without the parent node doing anything special (then
we use syscon_node_to_regmap to get the syscon instantiated). Do you
have a example use case for doing this without simple-mfd?
At this point I can't think of anything we'd need from the parent node,
especially if we end up using this syscon strictly for pwrstate subnodes
(which seems likely at this point). One thing that comes to mind is
telling the PMP (a coprocessor in charge of power metrics/management)
about some domains being turned on/off, which is apparently a thing, but
that wouldn't even be in this node; that'd have to be a phandle property
in the child nodes referencing a PMP/coprocessor node elsewhere (none of
which is implemented right now, and which should be backwards compatible
once it is).
If it turns out we do have a dep of some sort in the end, could we just
have the child node driver return -EPROBE_DEFER until the parent is
probed and has made whatever service available? That would allow us to
keep simple-mfd, right?
If it works for you, I'll also just squash the two bindings into one
commit for the next spin, since there is a direct dependency at this
point and it should make things easier. Otherwise, I can just swap the
order if you prefer it that way.
Ack on the other formatting changes; if the rest of the series looks
good to the other folks I'll try to respin this into a v3 soon, to see
if we can sneak it in by 5.16, since it'd be nice to have the power
domain stuff in there :)
--
Hector Martin (marcan@xxxxxxxxx)
Public Key: https://mrcn.st/pub