Re: [PATCH v4 4/6] dt-bindings: net: dsa: mediatek,mt7530: define port binding per switch
From: Krzysztof Kozlowski <hidden>
Date: 2022-08-25 06:33:19
Also in:
linux-arm-kernel, linux-mediatek, lkml, netdev
On 23/08/2022 15:29, Arınç ÜNAL wrote:
On 23.08.2022 13:47, Krzysztof Kozlowski wrote:quoted
On 20/08/2022 11:07, Arınç ÜNAL wrote:quoted
Define DSA port binding per switch model as each switch model requires different values for certain properties. Define reg property on $defs as it's the same for all switch models. Remove unnecessary lines as they are already included from the referred dsa.yaml. Signed-off-by: Arınç ÜNAL <redacted> --- .../bindings/net/dsa/mediatek,mt7530.yaml | 56 +++++++++++-------- 1 file changed, 34 insertions(+), 22 deletions(-)diff --git a/Documentation/devicetree/bindings/net/dsa/mediatek,mt7530.yaml b/Documentation/devicetree/bindings/net/dsa/mediatek,mt7530.yaml index 657e162a1c01..7c4374e16f96 100644 --- a/Documentation/devicetree/bindings/net/dsa/mediatek,mt7530.yaml +++ b/Documentation/devicetree/bindings/net/dsa/mediatek,mt7530.yaml@@ -130,38 +130,47 @@ properties: ethsys. maxItems: 1 -patternProperties: - "^(ethernet-)?ports$": - type: object - - patternProperties: - "^(ethernet-)?port@[0-9]+$": - type: object - description: Ethernet switch portsAgain, I don't understand why do you remove definitions of these nodes from top-level properties. I explained what I expect in previous discussion and I am confused to hear "this cannot be done".I agree it can be done, but the binding is done with less lines the current way. I would need to add more lines than just for creating the node structure since dsa.yaml is not referred. Then, I would have to create the node structure again for the dsa-port checks.
I understand you can create binding more concise, but not necessarily more readable. The easiest to grasp is to define all the nodes in top-level and customize them in allOf:if:then. This was actually also needed for earlier dtschema with additionalProperties:false. You keep defining properties in allOf:if:then, even though they are all applicable to all variants. That's unusual and even if it reduces the lines does not make it easier to grasp. Best regards, Krzysztof