Re: [PATCH v4 4/6] dt-bindings: net: dsa: mediatek,mt7530: define port binding per switch
From: Arınç ÜNAL <hidden>
Date: 2022-08-25 08:07:34
Also in:
linux-arm-kernel, linux-devicetree, linux-mediatek, lkml
On 25.08.2022 09:33, Krzysztof Kozlowski wrote:
On 23/08/2022 15:29, Arınç ÜNAL wrote:quoted
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.
Understood. Will send v6 with respect to this. Arınç