From: Colin Foster <colin.foster@in-advantage.com>
To: Rob Herring <robh@kernel.org>
Cc: linux-mediatek@lists.infradead.org,
linux-arm-kernel@lists.infradead.org, netdev@vger.kernel.org,
linux-kernel@vger.kernel.org, devicetree@vger.kernel.org,
"Alexandre Belloni" <alexandre.belloni@bootlin.com>,
"Claudiu Manoil" <claudiu.manoil@nxp.com>,
"John Crispin" <john@phrozen.org>,
"Sean Wang" <sean.wang@mediatek.com>,
"DENG Qingfang" <dqfext@gmail.com>,
"Landen Chao" <Landen.Chao@mediatek.com>,
"nç ÜNAL" <arinc.unal@arinc9.com>,
"Matthias Brugger" <matthias.bgg@gmail.com>,
"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>,
"Vivien Didelot" <vivien.didelot@gmail.com>,
"Andrew Lunn" <andrew@lunn.ch>,
"Krzysztof Kozlowski" <krzysztof.kozlowski+dt@linaro.org>,
"Lee Jones" <lee@kernel.org>
Subject: Re: [PATCH v1 net-next 6/7] dt-bindings: net: add generic ethernet-switch-port binding
Date: Wed, 26 Oct 2022 21:06:08 -0700 [thread overview]
Message-ID: <Y1oDsKfRKHC1Mok9@euler> (raw)
In-Reply-To: <20221026174421.GA794561-robh@kernel.org>
On Wed, Oct 26, 2022 at 12:44:21PM -0500, Rob Herring wrote:
> On Mon, Oct 24, 2022 at 10:03:54PM -0700, Colin Foster wrote:
> > The dsa-port.yaml binding had several references that can be common to all
> > ethernet ports, not just dsa-specific ones. Break out the generic bindings
> > to ethernet-switch-port.yaml they can be used by non-dsa drivers.
> >
> > Signed-off-by: Colin Foster <colin.foster@in-advantage.com>
> > Suggested-by: Vladimir Oltean <olteanv@gmail.com>
> > ---
> > .../devicetree/bindings/net/dsa/dsa-port.yaml | 26 +----------
> > .../bindings/net/ethernet-switch-port.yaml | 44 +++++++++++++++++++
> > .../bindings/net/ethernet-switch.yaml | 4 +-
> > MAINTAINERS | 1 +
> > 4 files changed, 50 insertions(+), 25 deletions(-)
> > create mode 100644 Documentation/devicetree/bindings/net/ethernet-switch-port.yaml
> >
> > diff --git a/Documentation/devicetree/bindings/net/dsa/dsa-port.yaml b/Documentation/devicetree/bindings/net/dsa/dsa-port.yaml
> > index 10ad7e71097b..c5144e733511 100644
> > --- a/Documentation/devicetree/bindings/net/dsa/dsa-port.yaml
> > +++ b/Documentation/devicetree/bindings/net/dsa/dsa-port.yaml
> > @@ -4,7 +4,7 @@
> > $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
> > +title: DSA Switch port Device Tree Bindings
> >
> > maintainers:
> > - Andrew Lunn <andrew@lunn.ch>
> > @@ -15,12 +15,9 @@ description:
> > Ethernet switch port Description
> >
> > allOf:
> > - - $ref: /schemas/net/ethernet-controller.yaml#
> > + - $ref: /schemas/net/ethernet-switch-port.yaml#
> >
> > properties:
> > - reg:
> > - description: Port number
> > -
> > label:
> > description:
> > Describes the label associated with this port, which will become
> > @@ -57,25 +54,6 @@ properties:
> > - rtl8_4t
> > - seville
> >
> > - phy-handle: true
> > -
> > - phy-mode: true
> > -
> > - fixed-link: true
> > -
> > - mac-address: true
> > -
> > - sfp: true
> > -
> > - managed: true
> > -
> > - rx-internal-delay-ps: true
> > -
> > - tx-internal-delay-ps: true
> > -
> > -required:
> > - - reg
> > -
> > # CPU and DSA ports must have phylink-compatible link descriptions
> > if:
> > oneOf:
> > diff --git a/Documentation/devicetree/bindings/net/ethernet-switch-port.yaml b/Documentation/devicetree/bindings/net/ethernet-switch-port.yaml
> > new file mode 100644
> > index 000000000000..cb1e5e12bf0a
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/net/ethernet-switch-port.yaml
> > @@ -0,0 +1,44 @@
> > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> > +%YAML 1.2
> > +---
> > +$id: http://devicetree.org/schemas/net/ethernet-switch-port.yaml#
> > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > +
> > +title: Ethernet Switch port Device Tree Bindings
> > +
> > +maintainers:
> > + - Andrew Lunn <andrew@lunn.ch>
> > + - Florian Fainelli <f.fainelli@gmail.com>
> > + - Vivien Didelot <vivien.didelot@gmail.com>
> > +
> > +description:
> > + Ethernet switch port Description
> > +
> > +$ref: ethernet-controller.yaml#
> > +
> > +properties:
> > + reg:
> > + description: Port number
> > +
> > + phy-handle: true
> > +
> > + phy-mode: true
> > +
> > + fixed-link: true
> > +
> > + mac-address: true
> > +
> > + sfp: true
> > +
> > + managed: true
> > +
> > + rx-internal-delay-ps: true
> > +
> > + tx-internal-delay-ps: true
> > +
> > +required:
> > + - reg
> > +
> > +additionalProperties: true
> > +
> > +...
> > diff --git a/Documentation/devicetree/bindings/net/ethernet-switch.yaml b/Documentation/devicetree/bindings/net/ethernet-switch.yaml
> > index fbaac536673d..f698857619da 100644
> > --- a/Documentation/devicetree/bindings/net/ethernet-switch.yaml
> > +++ b/Documentation/devicetree/bindings/net/ethernet-switch.yaml
> > @@ -36,7 +36,9 @@ patternProperties:
> > type: object
> > description: Ethernet switch ports
> >
> > - $ref: /schemas/net/dsa/dsa-port.yaml#
> > + allOf:
> > + - $ref: /schemas/net/dsa/dsa-port.yaml#
> > + - $ref: ethernet-switch-port.yaml#
>
> dsa-port.yaml references ethernet-switch-port.yaml, so you shouldn't
> need both here.
>
> I imagine what you were trying to do here was say it is either one of
> these, not both. I don't think this is going work for the same reasons I
> mentioned with unevaluatedProperties.
Oh, that was definitely a mistake for me to reference
ethernet-switch-port.yaml. And that was exactly requested of me when
Vladimir helped guide me down this path:
"""
6. The ethernet-switch.yaml will have "$ref: ethernet-switch-port.yaml#"
and "$ref: dsa-port.yaml". The dsa-port.yaml schema will *not* have
"$ref: ethernet-switch-port.yaml#", just its custom additions.
I'm not 100% on this, but I think there will be a problem if:
- dsa.yaml references ethernet-switch.yaml
- ethernet-switch.yaml references ethernet-switch-port.yaml
- dsa.yaml also references dsa-port.yaml
- dsa-port.yaml references ethernet-switch-port.yaml
because ethernet-switch-port.yaml will be referenced twice. Again,
not sure if this is a problem. If it isn't, things can be simpler,
just make dsa-port.yaml reference ethernet-switch-port.yaml, and skip
steps 2 and 3 since dsa-port.yaml containing just the DSA specifics
is no longer problematic.
"""
I might have been testing to see if this was necessary and since I
didn't notice any dt_binding_check errors this might have slipped into
the patch set. But my intent was to reference both here and remove the
reference in dsa-port.yaml.
>
> Rob
WARNING: multiple messages have this Message-ID (diff)
From: Colin Foster <colin.foster@in-advantage.com>
To: Rob Herring <robh@kernel.org>
Cc: linux-mediatek@lists.infradead.org,
linux-arm-kernel@lists.infradead.org, netdev@vger.kernel.org,
linux-kernel@vger.kernel.org, devicetree@vger.kernel.org,
"Alexandre Belloni" <alexandre.belloni@bootlin.com>,
"Claudiu Manoil" <claudiu.manoil@nxp.com>,
"John Crispin" <john@phrozen.org>,
"Sean Wang" <sean.wang@mediatek.com>,
"DENG Qingfang" <dqfext@gmail.com>,
"Landen Chao" <Landen.Chao@mediatek.com>,
"nç ÜNAL" <arinc.unal@arinc9.com>,
"Matthias Brugger" <matthias.bgg@gmail.com>,
"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>,
"Vivien Didelot" <vivien.didelot@gmail.com>,
"Andrew Lunn" <andrew@lunn.ch>,
"Krzysztof Kozlowski" <krzysztof.kozlowski+dt@linaro.org>,
"Lee Jones" <lee@kernel.org>
Subject: Re: [PATCH v1 net-next 6/7] dt-bindings: net: add generic ethernet-switch-port binding
Date: Wed, 26 Oct 2022 21:06:08 -0700 [thread overview]
Message-ID: <Y1oDsKfRKHC1Mok9@euler> (raw)
In-Reply-To: <20221026174421.GA794561-robh@kernel.org>
On Wed, Oct 26, 2022 at 12:44:21PM -0500, Rob Herring wrote:
> On Mon, Oct 24, 2022 at 10:03:54PM -0700, Colin Foster wrote:
> > The dsa-port.yaml binding had several references that can be common to all
> > ethernet ports, not just dsa-specific ones. Break out the generic bindings
> > to ethernet-switch-port.yaml they can be used by non-dsa drivers.
> >
> > Signed-off-by: Colin Foster <colin.foster@in-advantage.com>
> > Suggested-by: Vladimir Oltean <olteanv@gmail.com>
> > ---
> > .../devicetree/bindings/net/dsa/dsa-port.yaml | 26 +----------
> > .../bindings/net/ethernet-switch-port.yaml | 44 +++++++++++++++++++
> > .../bindings/net/ethernet-switch.yaml | 4 +-
> > MAINTAINERS | 1 +
> > 4 files changed, 50 insertions(+), 25 deletions(-)
> > create mode 100644 Documentation/devicetree/bindings/net/ethernet-switch-port.yaml
> >
> > diff --git a/Documentation/devicetree/bindings/net/dsa/dsa-port.yaml b/Documentation/devicetree/bindings/net/dsa/dsa-port.yaml
> > index 10ad7e71097b..c5144e733511 100644
> > --- a/Documentation/devicetree/bindings/net/dsa/dsa-port.yaml
> > +++ b/Documentation/devicetree/bindings/net/dsa/dsa-port.yaml
> > @@ -4,7 +4,7 @@
> > $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
> > +title: DSA Switch port Device Tree Bindings
> >
> > maintainers:
> > - Andrew Lunn <andrew@lunn.ch>
> > @@ -15,12 +15,9 @@ description:
> > Ethernet switch port Description
> >
> > allOf:
> > - - $ref: /schemas/net/ethernet-controller.yaml#
> > + - $ref: /schemas/net/ethernet-switch-port.yaml#
> >
> > properties:
> > - reg:
> > - description: Port number
> > -
> > label:
> > description:
> > Describes the label associated with this port, which will become
> > @@ -57,25 +54,6 @@ properties:
> > - rtl8_4t
> > - seville
> >
> > - phy-handle: true
> > -
> > - phy-mode: true
> > -
> > - fixed-link: true
> > -
> > - mac-address: true
> > -
> > - sfp: true
> > -
> > - managed: true
> > -
> > - rx-internal-delay-ps: true
> > -
> > - tx-internal-delay-ps: true
> > -
> > -required:
> > - - reg
> > -
> > # CPU and DSA ports must have phylink-compatible link descriptions
> > if:
> > oneOf:
> > diff --git a/Documentation/devicetree/bindings/net/ethernet-switch-port.yaml b/Documentation/devicetree/bindings/net/ethernet-switch-port.yaml
> > new file mode 100644
> > index 000000000000..cb1e5e12bf0a
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/net/ethernet-switch-port.yaml
> > @@ -0,0 +1,44 @@
> > +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> > +%YAML 1.2
> > +---
> > +$id: http://devicetree.org/schemas/net/ethernet-switch-port.yaml#
> > +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > +
> > +title: Ethernet Switch port Device Tree Bindings
> > +
> > +maintainers:
> > + - Andrew Lunn <andrew@lunn.ch>
> > + - Florian Fainelli <f.fainelli@gmail.com>
> > + - Vivien Didelot <vivien.didelot@gmail.com>
> > +
> > +description:
> > + Ethernet switch port Description
> > +
> > +$ref: ethernet-controller.yaml#
> > +
> > +properties:
> > + reg:
> > + description: Port number
> > +
> > + phy-handle: true
> > +
> > + phy-mode: true
> > +
> > + fixed-link: true
> > +
> > + mac-address: true
> > +
> > + sfp: true
> > +
> > + managed: true
> > +
> > + rx-internal-delay-ps: true
> > +
> > + tx-internal-delay-ps: true
> > +
> > +required:
> > + - reg
> > +
> > +additionalProperties: true
> > +
> > +...
> > diff --git a/Documentation/devicetree/bindings/net/ethernet-switch.yaml b/Documentation/devicetree/bindings/net/ethernet-switch.yaml
> > index fbaac536673d..f698857619da 100644
> > --- a/Documentation/devicetree/bindings/net/ethernet-switch.yaml
> > +++ b/Documentation/devicetree/bindings/net/ethernet-switch.yaml
> > @@ -36,7 +36,9 @@ patternProperties:
> > type: object
> > description: Ethernet switch ports
> >
> > - $ref: /schemas/net/dsa/dsa-port.yaml#
> > + allOf:
> > + - $ref: /schemas/net/dsa/dsa-port.yaml#
> > + - $ref: ethernet-switch-port.yaml#
>
> dsa-port.yaml references ethernet-switch-port.yaml, so you shouldn't
> need both here.
>
> I imagine what you were trying to do here was say it is either one of
> these, not both. I don't think this is going work for the same reasons I
> mentioned with unevaluatedProperties.
Oh, that was definitely a mistake for me to reference
ethernet-switch-port.yaml. And that was exactly requested of me when
Vladimir helped guide me down this path:
"""
6. The ethernet-switch.yaml will have "$ref: ethernet-switch-port.yaml#"
and "$ref: dsa-port.yaml". The dsa-port.yaml schema will *not* have
"$ref: ethernet-switch-port.yaml#", just its custom additions.
I'm not 100% on this, but I think there will be a problem if:
- dsa.yaml references ethernet-switch.yaml
- ethernet-switch.yaml references ethernet-switch-port.yaml
- dsa.yaml also references dsa-port.yaml
- dsa-port.yaml references ethernet-switch-port.yaml
because ethernet-switch-port.yaml will be referenced twice. Again,
not sure if this is a problem. If it isn't, things can be simpler,
just make dsa-port.yaml reference ethernet-switch-port.yaml, and skip
steps 2 and 3 since dsa-port.yaml containing just the DSA specifics
is no longer problematic.
"""
I might have been testing to see if this was necessary and since I
didn't notice any dt_binding_check errors this might have slipped into
the patch set. But my intent was to reference both here and remove the
reference in dsa-port.yaml.
>
> Rob
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
next prev parent reply other threads:[~2022-10-27 4:06 UTC|newest]
Thread overview: 52+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-10-25 5:03 [PATCH v1 net-next 0/7] dt-binding preparation for ocelot switches Colin Foster
2022-10-25 5:03 ` Colin Foster
2022-10-25 5:03 ` [PATCH v1 net-next 1/7] dt-bindings: mfd: ocelot: remove spi-max-frequency from required properties Colin Foster
2022-10-25 5:03 ` Colin Foster
2022-10-31 15:36 ` Lee Jones
2022-10-31 15:36 ` Lee Jones
2022-11-01 2:41 ` Colin Foster
2022-11-01 2:41 ` Colin Foster
2022-10-25 5:03 ` [PATCH v1 net-next 2/7] dt-bindings: mfd: ocelot: remove unnecessary driver wording Colin Foster
2022-10-25 5:03 ` Colin Foster
2022-10-31 15:37 ` Lee Jones
2022-10-31 15:37 ` Lee Jones
2022-10-25 5:03 ` [PATCH v1 net-next 3/7] dt-bindings: net: dsa: qca8k: utilize shared dsa.yaml Colin Foster
2022-10-25 5:03 ` Colin Foster
2022-10-25 20:05 ` Rob Herring
2022-10-25 20:05 ` Rob Herring
2022-10-25 21:21 ` Rob Herring
2022-10-25 21:21 ` Rob Herring
2022-10-27 1:25 ` Vladimir Oltean
2022-10-27 1:25 ` Vladimir Oltean
2022-10-27 3:35 ` Colin Foster
2022-10-27 3:35 ` Colin Foster
2022-10-31 15:44 ` Rob Herring
2022-10-31 15:44 ` Rob Herring
2022-11-01 3:47 ` Colin Foster
2022-11-01 3:47 ` Colin Foster
2022-10-27 2:44 ` Colin Foster
2022-10-27 2:44 ` Colin Foster
2022-10-25 5:03 ` [PATCH v1 net-next 4/7] dt-bindings: net: dsa: mediatek,mt7530: remove unnecessary dsa-port reference Colin Foster
2022-10-25 5:03 ` Colin Foster
2022-10-30 17:42 ` Arınç ÜNAL
2022-10-30 17:42 ` Arınç ÜNAL
2022-11-01 2:40 ` Colin Foster
2022-11-01 2:40 ` Colin Foster
2022-10-25 5:03 ` [PATCH v1 net-next 5/7] dt-bindings: net: add generic ethernet-switch Colin Foster
2022-10-25 5:03 ` Colin Foster
2022-10-25 5:03 ` [PATCH v1 net-next 6/7] dt-bindings: net: add generic ethernet-switch-port binding Colin Foster
2022-10-25 5:03 ` Colin Foster
2022-10-26 17:44 ` Rob Herring
2022-10-26 17:44 ` Rob Herring
2022-10-27 4:06 ` Colin Foster [this message]
2022-10-27 4:06 ` Colin Foster
2022-10-25 5:03 ` [PATCH v1 net-next 7/7] dt-bindings: net: mscc,vsc7514-switch: utilize generic ethernet-switch.yaml Colin Foster
2022-10-25 5:03 ` Colin Foster
2022-10-25 20:05 ` Rob Herring
2022-10-25 20:05 ` Rob Herring
2022-10-25 21:23 ` Rob Herring
2022-10-25 21:23 ` Rob Herring
2022-10-26 17:47 ` Rob Herring
2022-10-26 17:47 ` Rob Herring
2022-10-27 3:57 ` Colin Foster
2022-10-27 3:57 ` Colin Foster
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=Y1oDsKfRKHC1Mok9@euler \
--to=colin.foster@in-advantage.com \
--cc=Landen.Chao@mediatek.com \
--cc=alexandre.belloni@bootlin.com \
--cc=andrew@lunn.ch \
--cc=arinc.unal@arinc9.com \
--cc=claudiu.manoil@nxp.com \
--cc=davem@davemloft.net \
--cc=devicetree@vger.kernel.org \
--cc=dqfext@gmail.com \
--cc=edumazet@google.com \
--cc=f.fainelli@gmail.com \
--cc=john@phrozen.org \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=kuba@kernel.org \
--cc=lee@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mediatek@lists.infradead.org \
--cc=matthias.bgg@gmail.com \
--cc=netdev@vger.kernel.org \
--cc=olteanv@gmail.com \
--cc=pabeni@redhat.com \
--cc=robh@kernel.org \
--cc=sean.wang@mediatek.com \
--cc=vivien.didelot@gmail.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.