Re: [PATCH v5 3/3] serial: core: Fix serial core controller port name to show controller id
From: Tony Lindgren <tony@atomide.com>
Date: 2023-07-26 03:28:46
Also in:
lkml
* Andy Shevchenko [off-list ref] [230725 09:07]:
On Tue, Jul 25, 2023 at 08:42:12AM +0300, Tony Lindgren wrote:quoted
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.3Hmm... 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.
quoted
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