[PATCH v4 4/6] dt-bindings: net: dsa: mediatek,mt7530: define port binding per switch

Arınç ÜNAL arinc.unal at arinc9.com
Thu Aug 25 01:06:37 PDT 2022


On 25.08.2022 09:33, Krzysztof Kozlowski wrote:
> On 23/08/2022 15:29, Arınç ÜNAL wrote:
>>
>>
>> On 23.08.2022 13:47, Krzysztof Kozlowski wrote:
>>> On 20/08/2022 11:07, Arınç ÜNAL wrote:
>>>> 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 <arinc.unal at arinc9.com>
>>>> ---
>>>>    .../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 ports
>>>
>>> Again, 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ç



More information about the Linux-mediatek mailing list