Re: [PATCH] serial: core: Add sysfs links for serial core port instances for ttys

From: Tony Lindgren
Date: Wed Jul 19 2023 - 01:43:30 EST


* Andy Shevchenko <andriy.shevchenko@xxxxxxxxx> [230719 05:34]:
> On Wed, Jul 19, 2023 at 08:16:11AM +0300, Tony Lindgren wrote:
> > Let's allow the userspace to find out the tty name for a serial core
> > controller id if a tty exists. This can be done with:
> >
> > $ grep DEVNAME /sys/bus/serial-base/devices/port*/tty/uevent
> > /sys/bus/serial-base/devices/port.00:04.0/tty/uevent:DEVNAME=ttyS0
> > /sys/bus/serial-base/devices/port.serial8250.1/tty/uevent:DEVNAME=ttyS1
> > /sys/bus/serial-base/devices/port.serial8250.2/tty/uevent:DEVNAME=ttyS2
> > /sys/bus/serial-base/devices/port.serial8250.3/tty/uevent:DEVNAME=ttyS3
>
> What part is the controller ID here?

Oh looks like controller id it's missing in the name, I'll send a fix
for that.

> We also have something in procfs (I don't remember what info exactly is there).

Do you mean /proc/devices?

> > And with this, we can add /dev/serial/by-id symlinks to the serial port
> > device instances so we can start using serial core port addressing in
> > addition to the legacy ttyS naming.
> >
> > The naming we can use is dev_name:0.0 where 0.0 are the serial core
> > controller id and port id, so for the ttyS0 example above the naming
> > would be 00:04.0:0.0.
>
> This is interesting idea. But any hint why it can be useful?

If you have lots of serial ports and we are stuck with adding aliases
for the ports in the dts files where the ttyS naming and ordering does
not really help or may not necessarily make sense if the ports are on
different buses or domains. With CONFIG_SERIAL_8250_RUNTIME_UARTS=4,
the ttyS naming is only needed for the legacy ports really.

Regards,

Tony