Re: [PATCH v5 3/3] serial: core: Fix serial core controller port name to show controller id

From: Tony Lindgren
Date: Tue Jul 25 2023 - 23:28:46 EST


* Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx> [230725 09:07]:
> On Tue, Jul 25, 2023 at 08:42:12AM +0300, Tony Lindgren wrote:
> > We are missing the serial core controller id for the serial core port
> > name. Let's fix the issue for sane sysfs output, and to avoid issues
> > addressing serial ports later on.
> >
> > And as we're now showing the controller id, the "ctrl" and "port" prefix
> > for the DEVNAME become useless, we can just drop them. Let's standardize on
> > DEVNAME:0 for controller name, where 0 is the controller id. And
> > DEVNAME:0.0 for port name, where 0.0 are the controller id and port id.
> >
> > This makes the sysfs output nicer, on qemu for example:
> >
> > $ ls /sys/bus/serial-base/devices
> > 00:04:0 serial8250:0 serial8250:0.2
> > 00:04:0.0 serial8250:0.1 serial8250:0.3
>
> Hmm... Why 0.0 is absent for serial8250?

The serial8250:0.0 port was around initially, and then it's preallocated
slot got taken over by the 00:04:0.0 device. See nr_uarts in 8250_core.c
for what is going on.

> Btw, what was before this patch there?

# ls /sys/bus/serial-base/devices/
ctrl.00:04.0 port.00:04.0 port.serial8250.2
ctrl.serial8250.0 port.serial8250.1 port.serial8250.3

The earlier naming is different format from the DEVNAME:0.0. The sysfs
output is not usable directly for the users for the port addressing we're
discussing.

Sorry I did not notice the different format earier, I noticed only when I
started playing with using the DEVNAME:0.0 style port addressing.

> And maybe ls -l will look more informative?

I've appended qemu output of the ls -l for DEVNAME:0.0 style naming below.

> > Andy, I kept your Reviewed-by although I updated the device naming and
> > description, does the patch still look OK to you?
>
> Looks okay, but I have a question above.

OK best to get the device names right if we're planning to use them :)

Regards,

Tony


8< ------
ls -l /sys/bus/serial-base/devices/
total 0
lrwxrwxrwx 1 root root 0 Jul 25 05:21 00:04:0 -> ../../../devices/pnp0/00:04/00:04:0
lrwxrwxrwx 1 root root 0 Jul 25 05:21 00:04:0.0 -> ../../../devices/pnp0/00:04/00:04:0/00:04:0.0
lrwxrwxrwx 1 root root 0 Jul 25 05:21 serial8250:0 -> ../../../devices/platform/serial8250/serial8250:0
lrwxrwxrwx 1 root root 0 Jul 25 05:21 serial8250:0.1 -> ../../../devices/platform/serial8250/serial8250:0/serial8250:0.1
lrwxrwxrwx 1 root root 0 Jul 25 05:21 serial8250:0.2 -> ../../../devices/platform/serial8250/serial8250:0/serial8250:0.2
lrwxrwxrwx 1 root root 0 Jul 25 05:21 serial8250:0.3 -> ../../../devices/platform/serial8250/serial8250:0/serial8250:0.3