[PATCH v4 net-next 3/9] dt-bindings: net: dsa: utilize base definitions for standard dsa switches

Arınç ÜNAL arinc.unal at arinc9.com
Mon Dec 5 10:29:50 PST 2022


On 6.12.2022 05:20, Colin Foster wrote:
> On Sat, Dec 03, 2022 at 12:45:34AM +0300, Arınç ÜNAL wrote:
>> On 2.12.2022 23:45, Colin Foster wrote:
>>> DSA switches can fall into one of two categories: switches where all ports
>>> follow standard '(ethernet-)?port' properties, and switches that have
>>> additional properties for the ports.
>>>
>>> The scenario where DSA ports are all standardized can be handled by
>>> swtiches with a reference to the new 'dsa.yaml#/$defs/ethernet-ports'.
>>>
>>> The scenario where DSA ports require additional properties can reference
>>> '$dsa.yaml#' directly. This will allow switches to reference these standard
>>> defitions of the DSA switch, but add additional properties under the port
>>> nodes.
>>>
>>> Suggested-by: Rob Herring <robh at kernel.org>
>>> Signed-off-by: Colin Foster <colin.foster at in-advantage.com>
>>> Reviewed-by: Linus Walleij <linus.walleij at linaro.org>
>>> Reviewed-by: Florian Fainelli <f.fainelli at gmail.com>
>>> Acked-by: Alvin Šipraga <alsi at bang-olufsen.dk> # realtek
>>> ---
>>>
>>> v3 -> v4
>>>     * Rename "$defs/base" to "$defs/ethernet-ports" to avoid implication of a
>>>       "base class" and fix commit message accordingly
>>>     * Add the following to the common etherent-ports node:
>>>         "additionalProperties: false"
>>>         "#address-cells" property
>>>         "#size-cells" property
>>>     * Fix "etherenet-ports@[0-9]+" to correctly be "ethernet-port@[0-9]+"
>>>     * Remove unnecessary newline
>>>     * Apply changes to mediatek,mt7530.yaml that were previously in a separate patch
>>>     * Add Reviewed and Acked tags
>>>
>>> v3
>>>     * New patch
>>>
>>> ---
>>>    .../bindings/net/dsa/arrow,xrs700x.yaml       |  2 +-
>>>    .../devicetree/bindings/net/dsa/brcm,b53.yaml |  2 +-
>>>    .../devicetree/bindings/net/dsa/dsa.yaml      | 25 ++++++++++++++++---
>>>    .../net/dsa/hirschmann,hellcreek.yaml         |  2 +-
>>>    .../bindings/net/dsa/mediatek,mt7530.yaml     | 16 +++---------
>>>    .../bindings/net/dsa/microchip,ksz.yaml       |  2 +-
>>>    .../bindings/net/dsa/microchip,lan937x.yaml   |  2 +-
>>>    .../bindings/net/dsa/mscc,ocelot.yaml         |  2 +-
>>>    .../bindings/net/dsa/nxp,sja1105.yaml         |  2 +-
>>>    .../devicetree/bindings/net/dsa/realtek.yaml  |  2 +-
>>>    .../bindings/net/dsa/renesas,rzn1-a5psw.yaml  |  2 +-
>>>    11 files changed, 35 insertions(+), 24 deletions(-)
>>>
>>> diff --git a/Documentation/devicetree/bindings/net/dsa/arrow,xrs700x.yaml b/Documentation/devicetree/bindings/net/dsa/arrow,xrs700x.yaml
>>> index 259a0c6547f3..5888e3a0169a 100644
>>> --- a/Documentation/devicetree/bindings/net/dsa/arrow,xrs700x.yaml
>>> +++ b/Documentation/devicetree/bindings/net/dsa/arrow,xrs700x.yaml
>>> @@ -7,7 +7,7 @@ $schema: http://devicetree.org/meta-schemas/core.yaml#
>>>    title: Arrow SpeedChips XRS7000 Series Switch Device Tree Bindings
>>>    allOf:
>>> -  - $ref: dsa.yaml#
>>> +  - $ref: dsa.yaml#/$defs/ethernet-ports
>>>    maintainers:
>>>      - George McCollister <george.mccollister at gmail.com>
>>> diff --git a/Documentation/devicetree/bindings/net/dsa/brcm,b53.yaml b/Documentation/devicetree/bindings/net/dsa/brcm,b53.yaml
>>> index 1219b830b1a4..5bef4128d175 100644
>>> --- a/Documentation/devicetree/bindings/net/dsa/brcm,b53.yaml
>>> +++ b/Documentation/devicetree/bindings/net/dsa/brcm,b53.yaml
>>> @@ -66,7 +66,7 @@ required:
>>>      - reg
>>>    allOf:
>>> -  - $ref: dsa.yaml#
>>> +  - $ref: dsa.yaml#/$defs/ethernet-ports
>>>      - if:
>>>          properties:
>>>            compatible:
>>> diff --git a/Documentation/devicetree/bindings/net/dsa/dsa.yaml b/Documentation/devicetree/bindings/net/dsa/dsa.yaml
>>> index b9d48e357e77..b9e366e46aed 100644
>>> --- a/Documentation/devicetree/bindings/net/dsa/dsa.yaml
>>> +++ b/Documentation/devicetree/bindings/net/dsa/dsa.yaml
>>> @@ -19,9 +19,6 @@ description:
>>>    select: false
>>>    properties:
>>> -  $nodename:
>>> -    pattern: "^(ethernet-)?switch(@.*)?$"
>>> -
>>>      dsa,member:
>>>        minItems: 2
>>>        maxItems: 2
>>> @@ -58,4 +55,26 @@ oneOf:
>>>    additionalProperties: true
>>> +$defs:
>>> +  ethernet-ports:
>>> +    description: A DSA switch without any extra port properties
>>> +    $ref: '#/'
>>> +
>>> +    patternProperties:
>>> +      "^(ethernet-)?ports$":
>>> +        type: object
>>> +        additionalProperties: false
>>> +
>>> +        properties:
>>> +          '#address-cells':
>>> +            const: 1
>>> +          '#size-cells':
>>> +            const: 0
>>> +
>>> +        patternProperties:
>>> +          "^(ethernet-)?port@[0-9]+$":
>>> +            description: Ethernet switch ports
>>> +            $ref: dsa-port.yaml#
>>> +            unevaluatedProperties: false
>>> +
>>>    ...
>>> diff --git a/Documentation/devicetree/bindings/net/dsa/hirschmann,hellcreek.yaml b/Documentation/devicetree/bindings/net/dsa/hirschmann,hellcreek.yaml
>>> index 73b774eadd0b..748ef9983ce2 100644
>>> --- a/Documentation/devicetree/bindings/net/dsa/hirschmann,hellcreek.yaml
>>> +++ b/Documentation/devicetree/bindings/net/dsa/hirschmann,hellcreek.yaml
>>> @@ -7,7 +7,7 @@ $schema: http://devicetree.org/meta-schemas/core.yaml#
>>>    title: Hirschmann Hellcreek TSN Switch Device Tree Bindings
>>>    allOf:
>>> -  - $ref: dsa.yaml#
>>> +  - $ref: dsa.yaml#/$defs/ethernet-ports
>>>    maintainers:
>>>      - Andrew Lunn <andrew at lunn.ch>
>>> diff --git a/Documentation/devicetree/bindings/net/dsa/mediatek,mt7530.yaml b/Documentation/devicetree/bindings/net/dsa/mediatek,mt7530.yaml
>>> index f2e9ff3f580b..b815272531fa 100644
>>> --- a/Documentation/devicetree/bindings/net/dsa/mediatek,mt7530.yaml
>>> +++ b/Documentation/devicetree/bindings/net/dsa/mediatek,mt7530.yaml
>>> @@ -156,17 +156,6 @@ patternProperties:
>>>        patternProperties:
>>>          "^(ethernet-)?port@[0-9]+$":
>>> -        type: object
>>> -        description: Ethernet switch ports
>>> -
>>> -        unevaluatedProperties: false
>>> -
>>> -        properties:
>>> -          reg:
>>> -            description:
>>> -              Port address described must be 5 or 6 for CPU port and from 0 to 5
>>> -              for user ports.
>>
>> This shouldn't be moved. Please reread our conversation on the previous
>> version.
> 
> I see - I missed your point. My apologies. This binding should keep the
> reg properties where they were. I'll wait a few more days for any
> additional feedback.

Feel free to add my acked-by with the next version.

Acked-by: Arınç ÜNAL <arinc.unal at arinc9.com>

Arınç



More information about the linux-arm-kernel mailing list