On 13/08/2022 18:44, Arınç ÜNAL wrote: > Define DSA port binding under each compatible device as each device > requires different values for certain properties. > > Signed-off-by: Arınç ÜNAL <arinc.unal@xxxxxxxxxx> > --- > .../bindings/net/dsa/mediatek,mt7530.yaml | 116 +++++++++++++----- > 1 file changed, 87 insertions(+), 29 deletions(-) > > diff --git a/Documentation/devicetree/bindings/net/dsa/mediatek,mt7530.yaml b/Documentation/devicetree/bindings/net/dsa/mediatek,mt7530.yaml > index cc87f48d4d07..ff51a2f6875f 100644 > --- a/Documentation/devicetree/bindings/net/dsa/mediatek,mt7530.yaml > +++ b/Documentation/devicetree/bindings/net/dsa/mediatek,mt7530.yaml > @@ -130,35 +130,6 @@ properties: > ethsys. > maxItems: 1 > > -patternProperties: > - "^(ethernet-)?ports$": > - type: object > - > - patternProperties: > - "^(ethernet-)?port@[0-9]+$": > - type: object > - description: Ethernet switch ports > - my comments from v1 apply here None of the reasons you said force you to define properties in some allOf:if:then subblock. These force you to constrain the properties in allOf:if:then, but not define. > I can split patternProperties to two sections, but I can't directly > define the reg property like you put above. Of course you can and original bindings were doing it. Let me ask specific questions (yes, no): 1. Are ethernet-ports and ethernet-port present in each variant? 2. Is dsa-port.yaml applicable to each variant? (looks like that - three compatibles, three all:if:then) 3. If reg appearing in each variant? 4. If above is true, if reg is maximum one item in each variant? Looking at your patch, I think answer is 4x yes, which means you can define them in one place and constrain in allOf:if:then, just like all other schemas, because this one is not different. Best regards, Krzysztof