Re: [PATCH v11 03/13] dt-bindings: Convert gpio-mmio to yaml
From: Krzysztof Kozlowski <hidden>
Date: 2023-03-14 19:59:38
Also in:
linux-arm-kernel, linux-gpio, linux-phy, linuxppc-dev
On 14/03/2023 20:52, Sean Anderson wrote:
On 3/14/23 15:45, Krzysztof Kozlowski wrote:quoted
On 14/03/2023 19:50, Sean Anderson wrote:quoted
On 3/14/23 14:32, Krzysztof Kozlowski wrote:quoted
On 14/03/2023 19:09, Sean Anderson wrote:quoted
On 3/14/23 13:56, Krzysztof Kozlowski wrote:quoted
On 13/03/2023 17:11, Sean Anderson wrote: + reg-names:quoted
+ minItems: 1 + maxItems: 5 + items: + enum:Why this is in any order? Other bindings were here specific, your 'reg' is also specific/fixed.Some devicetrees have dirout first, and other have dat first. There is no mandatory order, and some registers can be included or left out as is convenient to the devicetree author. reg is not specific/fixed either. It is just done that way for convenience (and to match the names here).The items have order and usually we require strict order from DTS, unless there is a reason. If there is no reason, use fixed order and then fix the DTS.The items do not have order. That is the whole point of having a separate names property. The DTs are not "broken" for taking advantage of a longstanding feature. There is no advantage to rewriting them to use a fixed order, especially when there is no precedent. This is just an area where json schema cannot completely validate devicetrees.I don't understand "there is no precedent".There is - we rewrite hundreds of DTS. Just look at mine and other people commits.There is no precedent for a fixed order of registers for this device. We have always used reg-names to interpret regs.
And who is "we"? Bootloader? Firmware? BSD? Because they all matter. It does not matter that one particular driver uses reg-names. The common rule is always the same - entries are ordered and fixed (with exceptions).
quoted
The reg-names are helper and entries were always expected to be orderedThis is not the case for this device. Registers may be in any order, and
Their physical order does not determine the order of entries in DT.
some registers may be omitted (and not always the same ones).
OK, that's the reason.
reg-names is the only way to determine which registers are present.
Best regards, Krzysztof