On Thu, Oct 22, 2020 at 12:17:26PM -0700, Florian Fainelli wrote: > On 10/22/20 5:37 AM, Vladimir Oltean wrote: > > On Thu, Oct 22, 2020 at 12:54:52PM +0200, Kurt Kanzenbach wrote: > >> On Wed Oct 21 2020, Florian Fainelli wrote: > >>> On 10/21/2020 5:16 PM, Vladimir Oltean wrote: > >>>> On Wed, Oct 21, 2020 at 08:52:01AM +0200, Kurt Kanzenbach wrote: > >>>>> On Mon Oct 19 2020, Christian Eggers wrote: > >>>>> The node names should be switch. See dsa.yaml. > >>>>> > >>>>>> + compatible = "microchip,ksz9477"; > >>>>>> + reg = <0>; > >>>>>> + reset-gpios = <&gpio5 0 GPIO_ACTIVE_LOW>; > >>>>>> + > >>>>>> + spi-max-frequency = <44000000>; > >>>>>> + spi-cpha; > >>>>>> + spi-cpol; > >>>>>> + > >>>>>> + ports { > >>>>> > >>>>> ethernet-ports are preferred. > >>>> > >>>> This is backwards to me, instead of an 'ethernet-switch' with 'ports', > >>>> we have a 'switch' with 'ethernet-ports'. Whatever. > >>> > >>> The rationale AFAIR was that dual Ethernet port controllers like TI's > >>> CPSW needed to describe each port as a pseudo Ethernet MAC and using > >>> 'ethernet-ports' as a contained allowed to disambiguate with the 'ports' > >>> container used in display subsystem descriptions. > >> > >> Yes, that was the outcome of previous discussions. > > > > And why would that disambiguation be necessary in the first place? My > > understanding is that the whole node path provides the necessary > > namespacing to avoid the confusion. For example, the 'reg' property > > means 100 things to 100 buses, and no one has an issue with that. I am > > not expecting an Ethernet switch to have an HDMI port, I might be wrong > > though. > > The disambiguation is more of a hint given to DT analysis tools to > validate a given node with little to no knowledge of the containing > node. I don't really have a dog in the fight here. A node name should mean 1 and only 1 type/class of node. 'ports' (and 'port') is for the graph binding. Rob