Am Donnerstag, 16. November 2023, 20:51:24 CET schrieb Krzysztof Kozlowski: > On 16/11/2023 20:26, Heiko Stuebner wrote: > > Hi Krzysztof, > > Am Donnerstag, 16. November 2023, 19:12:18 CET schrieb Krzysztof Kozlowski: > >> Document preferred coding style for Devicetree sources (DTS and DTSI), > >> to bring consistency among all (sub)architectures and ease in reviews. > >> > >> Cc: AngeloGioacchino Del Regno <angelogioacchino.delregno@xxxxxxxxxxxxx> > >> Cc: Arnd Bergmann <arnd@xxxxxxxx> > >> Cc: Bjorn Andersson <andersson@xxxxxxxxxx> > >> Cc: Geert Uytterhoeven <geert+renesas@xxxxxxxxx> > >> Cc: Heiko Stuebner <heiko@xxxxxxxxx> > >> Cc: Konrad Dybcio <konrad.dybcio@xxxxxxxxxx> > >> Cc: Matthias Brugger <matthias.bgg@xxxxxxxxx> > >> Cc: Michal Simek <michal.simek@xxxxxxx> > >> Cc: Neil Armstrong <neil.armstrong@xxxxxxxxxx> > >> Cc: Nishanth Menon <nm@xxxxxx> > >> Cc: Olof Johansson <olof@xxxxxxxxx> > >> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@xxxxxxxxxx> > >> > > > >> +Order of Properties in Device Node > >> +---------------------------------- > >> + > >> +Following order of properties in device nodes is preferred: > >> + > >> +1. compatible > >> +2. reg > >> +3. ranges > >> +4. All properties with values > >> +5. Boolean properties > > > > I guess the only thing I do have questions about is the part > > > >> +4. All properties with values > >> +5. Boolean properties > > > > Is there a rationale for it? Because with it things like regulator-* > > properties then end up in two different blocks. > > Good point. It is only a matter of style that this: > > foo { > compatible = "foo"; > reg = <0x1>; > clocks = <&clk>; > wakeup-source; > key-autorepeat; > } > > looks better to me than: > > > foo { > compatible = "foo"; > reg = <0x1>; > key-autorepeat; > wakeup-source; > clocks = <&clk>; > } > > But you have good point that similar properties should be usually > grouped together. > > About which regulator properties are you thinking now? You mean the > supplies or the provider? I was thinking about the provider. There are regulator-min-microvolt = <>; and friends, but also regulator-boot-on; I guess I would just go with 1. compatible 2. reg 3. ranges 4. All other properties 5. status (if applicable) 6. Child nodes aka grouping the old 4+5 together. The difference is probably minimal but doesn't create corner cases and you don't need to know if a property has a value or is boolean when looking for it. Heiko