devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Rob Herring <robh@kernel.org>
To: Colin Foster <colin.foster@in-advantage.com>
Cc: linux-renesas-soc@vger.kernel.org,
	linux-mediatek@lists.infradead.org,
	linux-arm-kernel@lists.infradead.org,
	linux-kernel@vger.kernel.org, devicetree@vger.kernel.org,
	netdev@vger.kernel.org, "John Crispin" <john@phrozen.org>,
	"Alexandre Belloni" <alexandre.belloni@bootlin.com>,
	"Claudiu Manoil" <claudiu.manoil@nxp.com>,
	"Marek Vasut" <marex@denx.de>,
	"Sean Wang" <sean.wang@mediatek.com>,
	"DENG Qingfang" <dqfext@gmail.com>,
	"Landen Chao" <Landen.Chao@mediatek.com>,
	"nç ÜNAL" <arinc.unal@arinc9.com>,
	"Vivien Didelot" <vivien.didelot@gmail.com>,
	"Clément Léger" <clement.leger@bootlin.com>,
	"Alvin Šipraga" <alsi@bang-olufsen.dk>,
	"Linus Walleij" <linus.walleij@linaro.org>,
	UNGLinuxDriver@microchip.com,
	"Woojung Huh" <woojung.huh@microchip.com>,
	"Matthias Brugger" <matthias.bgg@gmail.com>,
	"Kurt Kanzenbach" <kurt@linutronix.de>,
	"Krzysztof Kozlowski" <krzysztof.kozlowski+dt@linaro.org>,
	"Paolo Abeni" <pabeni@redhat.com>,
	"Jakub Kicinski" <kuba@kernel.org>,
	"Eric Dumazet" <edumazet@google.com>,
	"David S. Miller" <davem@davemloft.net>,
	"Vladimir Oltean" <olteanv@gmail.com>,
	"Florian Fainelli" <f.fainelli@gmail.com>,
	"Andrew Lunn" <andrew@lunn.ch>,
	"George McCollister" <george.mccollister@gmail.com>
Subject: Re: [PATCH v3 net-next 03/10] dt-bindings: net: dsa: utilize base definitions for standard dsa switches
Date: Mon, 28 Nov 2022 17:23:37 -0600	[thread overview]
Message-ID: <20221128232337.GA1513198-robh@kernel.org> (raw)
In-Reply-To: <20221127224734.885526-4-colin.foster@in-advantage.com>

On Sun, Nov 27, 2022 at 02:47:27PM -0800, 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 'dsa.yaml#'.
> 
> The scenario where DSA ports require additional properties can reference
> the new '$dsa.yaml#/$defs/base'. This will allow switches to reference
> these base defitions of the DSA switch, but add additional properties under
> the port nodes.

You have this backwards. '$dsa.yaml#/$defs/base' can't be extended. 
Perhaps '$defs/ethernet-ports' would be a better name.

> 
> Suggested-by: Rob Herring <robh@kernel.org>
> Signed-off-by: Colin Foster <colin.foster@in-advantage.com>
> ---
> 
> v3
>   * New patch
> 
> ---
>  .../bindings/net/dsa/arrow,xrs700x.yaml       |  2 +-
>  .../devicetree/bindings/net/dsa/brcm,b53.yaml |  2 +-
>  .../devicetree/bindings/net/dsa/dsa.yaml      | 19 ++++++++++++++++---
>  .../net/dsa/hirschmann,hellcreek.yaml         |  2 +-
>  .../bindings/net/dsa/mediatek,mt7530.yaml     |  2 +-
>  .../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, 26 insertions(+), 13 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/net/dsa/arrow,xrs700x.yaml b/Documentation/devicetree/bindings/net/dsa/arrow,xrs700x.yaml
> index 259a0c6547f3..8d5abb05abdf 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/base
>  
>  maintainers:
>    - George McCollister <george.mccollister@gmail.com>
> diff --git a/Documentation/devicetree/bindings/net/dsa/brcm,b53.yaml b/Documentation/devicetree/bindings/net/dsa/brcm,b53.yaml
> index 1219b830b1a4..f323fc01b224 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/base
>    - if:
>        properties:
>          compatible:
> diff --git a/Documentation/devicetree/bindings/net/dsa/dsa.yaml b/Documentation/devicetree/bindings/net/dsa/dsa.yaml
> index b9d48e357e77..bd1f0f7c14a8 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,20 @@ oneOf:
>  
>  additionalProperties: true
>  
> +$defs:
> +  base:
> +    description: A DSA switch without any extra port properties
> +    $ref: '#/'
> +
> +    patternProperties:
> +      "^(ethernet-)?ports$":

This node at the top level needs 'additionalProperties: false' assuming 
we don't allow extra properties in 'ports' nodes. If we do, then we'll 
need to be able to reference the 'ports' schema to extend it like is 
done with dsa-ports.yaml.

> +        type: object
> +
> +        patternProperties:
> +          "^(ethernet-)?ports@[0-9]+$":
> +            description: Ethernet switch ports
> +            $ref: dsa-port.yaml#
> +            unevaluatedProperties: false
> +
> +

One blank line.

>  ...

  parent reply	other threads:[~2022-11-28 23:23 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-11-27 22:47 [PATCH v3 net-next 00/10] dt-binding preparation for ocelot switches Colin Foster
2022-11-27 22:47 ` [PATCH v3 net-next 01/10] dt-bindings: net: dsa: sf2: fix brcm,use-bcm-hdr documentation Colin Foster
2022-11-28 20:23   ` Florian Fainelli
2022-12-01 22:22   ` Rob Herring
2022-11-27 22:47 ` [PATCH v3 net-next 02/10] dt-bindings: net: dsa: qca8k: remove address-cells and size-cells from switch node Colin Foster
2022-11-28 20:41   ` Florian Fainelli
2022-12-01 22:24   ` Rob Herring
2022-11-27 22:47 ` [PATCH v3 net-next 03/10] dt-bindings: net: dsa: utilize base definitions for standard dsa switches Colin Foster
2022-11-28  9:32   ` Alvin Šipraga
2022-11-28 20:21   ` Linus Walleij
2022-11-29  9:20     ` Colin Foster
2022-11-28 20:41   ` Florian Fainelli
2022-11-28 23:23   ` Rob Herring [this message]
2022-11-29  9:34     ` Colin Foster
2022-11-29  3:58       ` Colin Foster
2022-11-27 22:47 ` [PATCH v3 net-next 04/10] dt-bindings: net: dsa: allow additional ethernet-port properties Colin Foster
2022-11-28 20:42   ` Florian Fainelli
2022-11-28 23:27   ` Rob Herring
2022-11-29  7:21     ` Colin Foster
2022-12-01 22:33       ` Rob Herring
2022-11-27 22:47 ` [PATCH v3 net-next 05/10] dt-bindings: net: dsa: qca8k: utilize shared dsa.yaml Colin Foster
2022-11-28 20:42   ` Florian Fainelli
2022-12-01 22:42   ` Rob Herring
2022-12-02 19:31     ` Colin Foster
2022-11-27 22:47 ` [PATCH v3 net-next 06/10] dt-bindings: net: dsa: mediatek,mt7530: fix port description location Colin Foster
2022-11-28  8:28   ` Arınç ÜNAL
2022-11-29  6:32     ` Colin Foster
2022-11-29  8:00       ` Arınç ÜNAL
2022-11-27 22:47 ` [PATCH v3 net-next 07/10] dt-bindings: net: dsa: mediatek,mt7530: remove unnecessary dsa-port reference Colin Foster
2022-11-28 20:43   ` Florian Fainelli
2022-11-27 22:47 ` [PATCH v3 net-next 08/10] dt-bindings: net: add generic ethernet-switch Colin Foster
2022-11-28 20:44   ` Florian Fainelli
2022-11-27 22:47 ` [PATCH v3 net-next 09/10] dt-bindings: net: add generic ethernet-switch-port binding Colin Foster
2022-11-28 20:47   ` Florian Fainelli
2022-11-27 22:47 ` [PATCH v3 net-next 10/10] dt-bindings: net: mscc,vsc7514-switch: utilize generic ethernet-switch.yaml Colin Foster
2022-11-28 20:47   ` Florian Fainelli

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20221128232337.GA1513198-robh@kernel.org \
    --to=robh@kernel.org \
    --cc=Landen.Chao@mediatek.com \
    --cc=UNGLinuxDriver@microchip.com \
    --cc=alexandre.belloni@bootlin.com \
    --cc=alsi@bang-olufsen.dk \
    --cc=andrew@lunn.ch \
    --cc=arinc.unal@arinc9.com \
    --cc=claudiu.manoil@nxp.com \
    --cc=clement.leger@bootlin.com \
    --cc=colin.foster@in-advantage.com \
    --cc=davem@davemloft.net \
    --cc=devicetree@vger.kernel.org \
    --cc=dqfext@gmail.com \
    --cc=edumazet@google.com \
    --cc=f.fainelli@gmail.com \
    --cc=george.mccollister@gmail.com \
    --cc=john@phrozen.org \
    --cc=krzysztof.kozlowski+dt@linaro.org \
    --cc=kuba@kernel.org \
    --cc=kurt@linutronix.de \
    --cc=linus.walleij@linaro.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mediatek@lists.infradead.org \
    --cc=linux-renesas-soc@vger.kernel.org \
    --cc=marex@denx.de \
    --cc=matthias.bgg@gmail.com \
    --cc=netdev@vger.kernel.org \
    --cc=olteanv@gmail.com \
    --cc=pabeni@redhat.com \
    --cc=sean.wang@mediatek.com \
    --cc=vivien.didelot@gmail.com \
    --cc=woojung.huh@microchip.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).