Re: [PATCH 1/2] dt-bindings: net: dsa: split generic port definition from dsa.yaml

From: Rob Herring
Date: Mon Nov 29 2021 - 16:20:59 EST


On Fri, Nov 12, 2021 at 05:57:51PM +0100, Ansuel Smith wrote:
> Some switch may require to add additional binding to the node port.
> Move DSA generic port definition to a dedicated yaml to permit this.
>
> Signed-off-by: Ansuel Smith <ansuelsmth@xxxxxxxxx>
> ---
> .../devicetree/bindings/net/dsa/dsa-port.yaml | 70 +++++++++++++++++++
> .../devicetree/bindings/net/dsa/dsa.yaml | 54 +-------------
> 2 files changed, 72 insertions(+), 52 deletions(-)
> create mode 100644 Documentation/devicetree/bindings/net/dsa/dsa-port.yaml
>
> diff --git a/Documentation/devicetree/bindings/net/dsa/dsa-port.yaml b/Documentation/devicetree/bindings/net/dsa/dsa-port.yaml
> new file mode 100644
> index 000000000000..258df41c9133
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/net/dsa/dsa-port.yaml
> @@ -0,0 +1,70 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/net/dsa/dsa-port.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Ethernet Switch port Device Tree Bindings
> +
> +maintainers:
> + - Andrew Lunn <andrew@xxxxxxx>
> + - Florian Fainelli <f.fainelli@xxxxxxxxx>
> + - Vivien Didelot <vivien.didelot@xxxxxxxxx>
> +
> +description:
> + Ethernet switch port Description
> +
> +properties:
> + reg:
> + description: Port number
> +
> + label:
> + description:
> + Describes the label associated with this port, which will become
> + the netdev name
> + $ref: /schemas/types.yaml#/definitions/string
> +
> + link:
> + description:
> + Should be a list of phandles to other switch's DSA port. This
> + port is used as the outgoing port towards the phandle ports. The
> + full routing information must be given, not just the one hop
> + routes to neighbouring switches
> + $ref: /schemas/types.yaml#/definitions/phandle-array
> +
> + ethernet:
> + description:
> + Should be a phandle to a valid Ethernet device node. This host
> + device is what the switch port is connected to
> + $ref: /schemas/types.yaml#/definitions/phandle
> +
> + dsa-tag-protocol:
> + description:
> + Instead of the default, the switch will use this tag protocol if
> + possible. Useful when a device supports multiple protocols and
> + the default is incompatible with the Ethernet device.
> + enum:
> + - dsa
> + - edsa
> + - ocelot
> + - ocelot-8021q
> + - seville
> +
> + phy-handle: true
> +
> + phy-mode: true
> +
> + fixed-link: true
> +
> + mac-address: true
> +
> + sfp: true
> +
> + managed: true
> +
> +required:
> + - reg
> +
> +additionalProperties: true
> +
> +...
> diff --git a/Documentation/devicetree/bindings/net/dsa/dsa.yaml b/Documentation/devicetree/bindings/net/dsa/dsa.yaml
> index 224cfa45de9a..15ea9ef3def9 100644
> --- a/Documentation/devicetree/bindings/net/dsa/dsa.yaml
> +++ b/Documentation/devicetree/bindings/net/dsa/dsa.yaml
> @@ -46,58 +46,8 @@ patternProperties:
> type: object
> description: Ethernet switch ports
>
> - properties:
> - reg:
> - description: Port number
> -
> - label:
> - description:
> - Describes the label associated with this port, which will become
> - the netdev name
> - $ref: /schemas/types.yaml#/definitions/string
> -
> - link:
> - description:
> - Should be a list of phandles to other switch's DSA port. This
> - port is used as the outgoing port towards the phandle ports. The
> - full routing information must be given, not just the one hop
> - routes to neighbouring switches
> - $ref: /schemas/types.yaml#/definitions/phandle-array
> -
> - ethernet:
> - description:
> - Should be a phandle to a valid Ethernet device node. This host
> - device is what the switch port is connected to
> - $ref: /schemas/types.yaml#/definitions/phandle
> -
> - dsa-tag-protocol:
> - description:
> - Instead of the default, the switch will use this tag protocol if
> - possible. Useful when a device supports multiple protocols and
> - the default is incompatible with the Ethernet device.
> - enum:
> - - dsa
> - - edsa
> - - ocelot
> - - ocelot-8021q
> - - seville
> -
> - phy-handle: true
> -
> - phy-mode: true
> -
> - fixed-link: true
> -
> - mac-address: true
> -
> - sfp: true
> -
> - managed: true
> -
> - required:
> - - reg
> -
> - additionalProperties: false
> + allOf:
> + - $ref: dsa-port.yaml#

Don't need 'allOf' here. And you need to add 'unevaluatedProperties:
false'. With that,

Reviewed-by: Rob Herring <robh@xxxxxxxxxx>

(This needs to go in net-next to avoid conflicts, but given the
maintainers didn't apply it already unreviewed they probably expect I
will apply it.)