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.)