Subject: Re: [PATCH net-next v1 4/4] usbnet: add support for label from device tree

From: Greg KH <[email-masked]>
Date: Thu, 27 Jan 2022 12:30:20 +0100

On Thu, Jan 27, 2022 at 12:23:05PM +0100, Oleksij Rempel wrote:
> On Thu, Jan 27, 2022 at 11:57:26AM +0100, Greg KH wrote:
> > On Thu, Jan 27, 2022 at 11:49:05AM +0100, Oleksij Rempel wrote:
> > > Similar to the option to set a netdev name in device tree for switch
> > > ports by using the property "label" in the DSA framework, this patch
> > > adds this functionality to the usbnet infrastructure.
> > > 
> > > This will help to name the interfaces properly throughout supported
> > > devices. This provides stable interface names which are useful
> > > especially in embedded use cases.
> > 
> > Stable interface names are for userspace to set, not the kernel.
> > 
> > Why would USB care about this?  If you need something like this, get it
> > from the USB device itself, not DT, which should have nothing to do with
> > USB as USB is a dynamic, self-describing, bus.  Unlike DT.
> > 
> > So I do not think this is a good idea.
> 
> This is needed for embedded devices with integrated USB Ethernet
> controller. Currently I have following use cases to solve:
> - Board with one or multiple USB Ethernet controllers with external PHY.
>   The PHY need devicetree to describe IRQ, clock sources, label on board, etc.

The phy is for the USB controller, not the Ethernet controller, right?
If for the ethernet controller, ugh, that's a crazy design and I would
argue a broken one.  But whatever, DT should not be used to describe a
USB device itself.

> - Board with USB Ethernet controller with DSA switch. The USB ethernet
>   controller is attached to the CPU port of DSA switch. In this case,
>   DSA switch is the sub-node of the USB device.

What do you mean exactly by "sub node"?  USB does not have such a term.

>  The CPU port should have
>   stable name for all device related to this product.

name for who to use?  Userspace?  Or within the kernel?

Naming is done by userspace, as USB is NOT determinisitic in numbering /
naming the devices attached to it, by design.  If you need to have a
stable name, do so in userspace please, we have loads of tools that
already do this there today.  Let's not reinvent the wheel.

> Using user space tools to name interfaces would double the maintenance
> of similar information: DT - describing the HW + udev scripts describing
> same HW again.

Not for the network name of the device, that belongs in userspace.

Do not be listing USB device ids in a DT file, that way lies madness.

thanks,

greg k-h