On 29/11/2023 08:29, Francesco Dolcini wrote: > On Sat, Nov 25, 2023 at 07:44:22PM +0100, Krzysztof Kozlowski wrote: >> Document preferred coding style for Devicetree sources (DTS and DTSI), >> to bring consistency among all (sub)architectures and ease in reviews. > > Thank Krzysztof, we had most of this collected as BKM in some internal > documents and it's great to see the effort to consolidate this and add > it to the kernel documentation. > >> --- >> +Following order of properties in device nodes is preferred: >> + >> +1. compatible >> +2. reg >> +3. ranges >> +4. Standard/common properties (defined by common bindings, e.g. without >> + vendor-prefixes) >> +5. Vendor-specific properties >> +6. status (if applicable) >> +7. Child nodes, where each node is preceded with a blank line > > On point 4, do you have a more explicit way to define what is an actual > standard/common property? You mention the vendor-prefixes as an example, > is this just an example or this is the whole definition? The actual definition is: defined by common bindings, which are: meta-schemas and schemas in dtschema, and common bindings per subsystem (e.g. leds/common.yaml). Lack of vendor-prefix is I think 99% accurate in this matter, but there are some "linux," ones. > > What would be the order for this for example (from an existing DTS file)? > > reg_sdhc1_vmmc: regulator-sdhci1 { > compatible = "regulator-fixed"; > pinctrl-names = "default"; > pinctrl-0 = <&pinctrl_sd1_pwr_en>; > enable-active-high; > gpio = <&main_gpio0 29 GPIO_ACTIVE_HIGH>; > off-on-delay-us = <100000>; > regulator-max-microvolt = <3300000>; > regulator-min-microvolt = <3300000>; > regulator-name = "+V3.3_SD"; > startup-delay-us = <2000>; > }; > > I guess the point that is not obvious to me here is where do we want > pinctrl. I like it at position between 3 and 4, the rationale is that is > a very frequent property and this way it will be in a similar place for > every node. Order here is correct but all of them are generic properties, thus this coding style does not define ordering within. Best regards, Krzysztof