The fact that some DSA device trees use 'label = "cpu"' for the CPU port
is nothing but blind cargo cult copying. The 'label' property was never
part of the DSA DT bindings for anything except the user ports, where it
provided a hint as to what name the created netdevs should use.
DSA does use the "cpu" port label to identify a CPU port in dsa_port_parse(),
but this is only for non-OF code paths (platform data).
The proper way to identify a CPU port is to look at whether the
'ethernet' phandle is present.
Signed-off-by: Vladimir Oltean <[email protected]>
---
.../devicetree/bindings/net/dsa/mediatek,mt7530.yaml | 12 +++---------
1 file changed, 3 insertions(+), 9 deletions(-)
diff --git a/Documentation/devicetree/bindings/net/dsa/mediatek,mt7530.yaml b/Documentation/devicetree/bindings/net/dsa/mediatek,mt7530.yaml
index f9e7b6e20b35..fa271ee16b5e 100644
--- a/Documentation/devicetree/bindings/net/dsa/mediatek,mt7530.yaml
+++ b/Documentation/devicetree/bindings/net/dsa/mediatek,mt7530.yaml
@@ -163,9 +163,7 @@ patternProperties:
allOf:
- $ref: dsa-port.yaml#
- if:
- properties:
- label:
- const: cpu
+ required: [ ethernet ]
then:
required:
- phy-mode
@@ -187,9 +185,7 @@ $defs:
patternProperties:
"^(ethernet-)?port@[0-9]+$":
if:
- properties:
- label:
- const: cpu
+ required: [ ethernet ]
then:
if:
properties:
@@ -215,9 +211,7 @@ $defs:
patternProperties:
"^(ethernet-)?port@[0-9]+$":
if:
- properties:
- label:
- const: cpu
+ required: [ ethernet ]
then:
if:
properties:
--
2.34.1
On 9/12/22 10:50, Vladimir Oltean wrote:
> The fact that some DSA device trees use 'label = "cpu"' for the CPU port
> is nothing but blind cargo cult copying. The 'label' property was never
> part of the DSA DT bindings for anything except the user ports, where it
> provided a hint as to what name the created netdevs should use.
>
> DSA does use the "cpu" port label to identify a CPU port in dsa_port_parse(),
> but this is only for non-OF code paths (platform data).
>
> The proper way to identify a CPU port is to look at whether the
> 'ethernet' phandle is present.
>
> Signed-off-by: Vladimir Oltean <[email protected]>
Reviewed-by: Florian Fainelli <[email protected]>
--
Florian
On 12.09.2022 20:50, Vladimir Oltean wrote:
> The fact that some DSA device trees use 'label = "cpu"' for the CPU port
> is nothing but blind cargo cult copying. The 'label' property was never
> part of the DSA DT bindings for anything except the user ports, where it
> provided a hint as to what name the created netdevs should use.
>
> DSA does use the "cpu" port label to identify a CPU port in dsa_port_parse(),
> but this is only for non-OF code paths (platform data).
>
> The proper way to identify a CPU port is to look at whether the
> 'ethernet' phandle is present.
>
> Signed-off-by: Vladimir Oltean <[email protected]>
Reviewed-by: Arınç ÜNAL <[email protected]>
Arınç
> ---
> .../devicetree/bindings/net/dsa/mediatek,mt7530.yaml | 12 +++---------
> 1 file changed, 3 insertions(+), 9 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/net/dsa/mediatek,mt7530.yaml b/Documentation/devicetree/bindings/net/dsa/mediatek,mt7530.yaml
> index f9e7b6e20b35..fa271ee16b5e 100644
> --- a/Documentation/devicetree/bindings/net/dsa/mediatek,mt7530.yaml
> +++ b/Documentation/devicetree/bindings/net/dsa/mediatek,mt7530.yaml
> @@ -163,9 +163,7 @@ patternProperties:
> allOf:
> - $ref: dsa-port.yaml#
> - if:
> - properties:
> - label:
> - const: cpu
> + required: [ ethernet ]
> then:
> required:
> - phy-mode
> @@ -187,9 +185,7 @@ $defs:
> patternProperties:
> "^(ethernet-)?port@[0-9]+$":
> if:
> - properties:
> - label:
> - const: cpu
> + required: [ ethernet ]
> then:
> if:
> properties:
> @@ -215,9 +211,7 @@ $defs:
> patternProperties:
> "^(ethernet-)?port@[0-9]+$":
> if:
> - properties:
> - label:
> - const: cpu
> + required: [ ethernet ]
> then:
> if:
> properties:
On Tue, Sep 13, 2022 at 06:55:05PM +0300, Arınç ÜNAL wrote:
> On 12.09.2022 20:50, Vladimir Oltean wrote:
> > The fact that some DSA device trees use 'label = "cpu"' for the CPU port
> > is nothing but blind cargo cult copying. The 'label' property was never
> > part of the DSA DT bindings for anything except the user ports, where it
> > provided a hint as to what name the created netdevs should use.
> >
> > DSA does use the "cpu" port label to identify a CPU port in dsa_port_parse(),
> > but this is only for non-OF code paths (platform data).
> >
> > The proper way to identify a CPU port is to look at whether the
> > 'ethernet' phandle is present.
> >
> > Signed-off-by: Vladimir Oltean <[email protected]>
>
> I realised "dt-bindings: net: dsa: mt7530:" prefix is used here instead of
> the usual "dt-bindings: net: dsa: mediatek,mt7530:". Does this matter?
Since "mt7530" implies "mediatek", I preferred to skip it.
On 12.09.2022 20:50, Vladimir Oltean wrote:
> The fact that some DSA device trees use 'label = "cpu"' for the CPU port
> is nothing but blind cargo cult copying. The 'label' property was never
> part of the DSA DT bindings for anything except the user ports, where it
> provided a hint as to what name the created netdevs should use.
>
> DSA does use the "cpu" port label to identify a CPU port in dsa_port_parse(),
> but this is only for non-OF code paths (platform data).
>
> The proper way to identify a CPU port is to look at whether the
> 'ethernet' phandle is present.
>
> Signed-off-by: Vladimir Oltean <[email protected]>
I realised "dt-bindings: net: dsa: mt7530:" prefix is used here instead
of the usual "dt-bindings: net: dsa: mediatek,mt7530:". Does this matter?
Arınç
On Mon, 12 Sep 2022 20:50:56 +0300, Vladimir Oltean wrote:
> The fact that some DSA device trees use 'label = "cpu"' for the CPU port
> is nothing but blind cargo cult copying. The 'label' property was never
> part of the DSA DT bindings for anything except the user ports, where it
> provided a hint as to what name the created netdevs should use.
>
> DSA does use the "cpu" port label to identify a CPU port in dsa_port_parse(),
> but this is only for non-OF code paths (platform data).
>
> The proper way to identify a CPU port is to look at whether the
> 'ethernet' phandle is present.
>
> Signed-off-by: Vladimir Oltean <[email protected]>
> ---
> .../devicetree/bindings/net/dsa/mediatek,mt7530.yaml | 12 +++---------
> 1 file changed, 3 insertions(+), 9 deletions(-)
>
Acked-by: Rob Herring <[email protected]>