Subject: Re: [PATCHv2 net-next] dsa: Support multiple MDIO busses

From: Florian Fainelli <[email-masked]>
Date: Sun, 09 Aug 2015 11:33:55 -0700

Le 08/09/15 10:35, Andrew Lunn a écrit :
>>> The optional mii-bus properties i'm adding should be used in
>>> preference to this global one, for this switch. Keeping the names the
>>> same makes sense. But i did drop the dsa prefix to indicate it is
>>> local, not global scope,
>>
>>    Dropping a vendor prefix usually means that it's (standardized)
>> common property name. I don't know where you took the "local" scope
>> thing...
> 
> DSA has at least three levels of hierarchy. The following is the
> example from the binding documentation. There is a 'global' scope
> dsa,mii-bus = <&mii_bus0> in the top level, which is mandatory. This
> patch allows optional 'local' scope mii bus to be specified at an
> individual switch level. The 'local' value, if present, will override
> the 'global' value.
> 
> Maybe more properties should use the dsa prefix? But dsa is not a
> vendor prefix, it just refers to "Distributed Switch Architecture",
> the scheme for accessing a number of Ethernet switches connected
> together in a cluster. But as the binding has grown, this prefix has
> not been used with new properties.

Maybe it was not very smart to use the "dsa," prefixing initially, but I
agree with Andrew's naming of things here, we are already local to the
switch tree so dropping the prefix sounds reasonable.

> 
>     Andrew
> 
>         dsa@0 {
>                 compatible = "marvell,dsa";
>                 #address-cells = <2>;
>                 #size-cells = <0>;
> 
>                 interrupts = <10>;
>                 dsa,ethernet = <&ethernet0>;
>                 dsa,mii-bus = <&mii_bus0>;
> 
>                 switch@0 {
>                         #address-cells = <1>;
>                         #size-cells = <0>;
>                         reg = <16 0>;   /* MDIO address 16, switch 0 in tree */
> 
>                         port@0 {
>                                 reg = <0>;
>                                 label = "lan1";
>                                 phy-handle = <&phy0>;
>                         };
> 
>                         port@1 {
>                                 reg = <1>;
>                                 label = "lan2";
>                         };
> 
>                         port@5 {
>                                 reg = <5>;
>                                 label = "cpu";
>                         };
> 
>                         switch0port6: port@6 {
>                                 reg = <6>;
>                                 label = "dsa";
>                                 link = <&switch1port0
>                                         &switch2port0>;
>                         };
>                 };
> 
>                 switch@1 {
>                         #address-cells = <1>;
>                         #size-cells = <0>;
>                         reg = <17 1>;   /* MDIO address 17, switch 1 in tree */
>                         mii-bus = <&mii_bus1>;
> 
>                         switch1port0: port@0 {
>                                 reg = <0>;
>                                 label = "dsa";
>                                 link = <&switch0port6>;
>                         };
>                         switch1port1: port@1 {
>                                 reg = <1>;
>                                 label = "dsa";
>                                 link = <&switch2port1>;
>                         };
>                 };
> 
>                 switch@2 {
>                         #address-cells = <1>;
>                         #size-cells = <0>;
>                         reg = <18 2>;   /* MDIO address 18, switch 2 in tree */
>                         mii-bus = <&mii_bus1>;
> 
>                         switch2port0: port@0 {
>                                 reg = <0>;
>                                 label = "dsa";
>                                 link = <&switch1port1
>                                         &switch0port6>;
>                         };
>                 };
>         };
> 

-- 
Florian