Hi Tony, Thanks for your patch! On Thu, Oct 7, 2021 at 2:49 PM Tony Lindgren <tony@xxxxxxxxxxx> wrote: > Clocks and power domains are not required by the simple-pm-bus driver. > There are buses with read-only registers for clocks and power domains > that are always on. The presence of clocks or power-domains properties is the only distinguishing factor between simple-pm-bus and simple-bus, from a DT point of view. So if there has to be a distinguishment, the properties should be required If you don't have clocks and power-domains, you should use simple-bus. > Even without clocks and power domains configured, simple-pm-bus is still > different from simple-bus as simple-pm-bus enables runtime PM for the bus > driver. Which you need to have working Runtime PM for child devices, right? ;-) This is not specific to DT, but to Linux. One more reason to let Linux treat simple-pm-bus and simple-bus exactly the same. Linux handles the clocks and power-domains (if present) transparently anyway, through PM Domains > Let's update the binding accordingly as this remove the related warnings > for dt_binding_check for omaps. > > Cc: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> > Cc: Rob Herring <robh@xxxxxxxxxx> > Cc: Simon Horman <horms+renesas@xxxxxxxxxxxx> > Cc: Suman Anna <s-anna@xxxxxx> > Signed-off-by: Tony Lindgren <tony@xxxxxxxxxxx> > --- a/Documentation/devicetree/bindings/bus/simple-pm-bus.yaml > +++ b/Documentation/devicetree/bindings/bus/simple-pm-bus.yaml > @@ -13,10 +13,9 @@ description: | > A Simple Power-Managed Bus is a transparent bus that doesn't need a real > driver, as it's typically initialized by the boot loader. > > - However, its bus controller is part of a PM domain, or under the control > - of a functional clock. Hence, the bus controller's PM domain and/or > - clock must be enabled for child devices connected to the bus (either > - on-SoC or externally) to function. > + However, its bus controller is typically part of a PM domain, or under > + the control of a functional clock. Without PM domain or functional clock, > + it still enables runtime PM for the bus driver unlike "simple-bus". > > While "simple-pm-bus" follows the "simple-bus" set of properties, as > specified in the Devicetree Specification, it is not an extension of > @@ -43,10 +42,10 @@ properties: > > clocks: true > # Functional clocks > - # Required if power-domains is absent, optional otherwise > + # Typically used if power-domains is absent > > power-domains: > - # Required if clocks is absent, optional otherwise > + # Typically used if clocks is absent > minItems: 1 > > required: > @@ -55,12 +54,6 @@ required: > - '#size-cells' > - ranges > > -anyOf: > - - required: > - - clocks > - - required: > - - power-domains > - > additionalProperties: true > > examples: Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds