Re: [RFC PATCH 1/2] serial: core: Move tty and serdev to be children of serial core port device

From: Tony Lindgren
Date: Wed Oct 25 2023 - 04:24:40 EST


* Johan Hovold <johan@xxxxxxxxxx> [231025 07:32]:
> Your diff is missing the actual tty devices. 'tty' is just the class
> directory.

Ah right, that explains :) The find must be for ttyS* in this case,
here's the diff for qemu x86 for command:

# find /sys -name ttyS*

--- /tmp/before 2023-10-25 10:50:29.870083012 +0300
+++ /tmp/after 2023-10-25 10:52:52.770393075 +0300
@@ -3,7 +3,7 @@
/sys/class/tty/ttyS0
/sys/class/tty/ttyS3
/sys/class/tty/ttyS1
-/sys/devices/pnp0/00:04/tty/ttyS0
-/sys/devices/platform/serial8250/tty/ttyS2
-/sys/devices/platform/serial8250/tty/ttyS3
-/sys/devices/platform/serial8250/tty/ttyS1
+/sys/devices/pnp0/00:04/00:04:0/00:04:0.0/tty/ttyS0
+/sys/devices/platform/serial8250/serial8250:0/serial8250:0.3/tty/ttyS3
+/sys/devices/platform/serial8250/serial8250:0/serial8250:0.1/tty/ttyS1
+/sys/devices/platform/serial8250/serial8250:0/serial8250:0.2/tty/ttyS2

> And can you post the equivalent diff for serdev as well for completeness?

I don't have an x86 or arm64 testcase for serdev, but here's a armv7 wlcore
hci-uart serdev diff for command:

# find /sys -name ttyS* -o -name serial0

--- /tmp/before 2023-10-25 08:23:15.468382112 +0000
+++ /tmp/after 2023-10-25 08:23:15.468382112 +0000
@@ -1,10 +1,9 @@
-# find /sys -name ttyS* -o -name serial0
-/sys/devices/platform/ocp/48000000.interconnect/48000000.interconnect:segment@0/4806e050.target-module/4806e000.serial/serial0
-/sys/devices/platform/ocp/48000000.interconnect/48000000.interconnect:segment@0/48020050.target-module/48020000.serial/tty/ttyS2
-/sys/devices/platform/ocp/48000000.interconnect/48000000.interconnect:segment@0/4806a050.target-module/4806a000.serial/tty/ttyS0
-/sys/devices/platform/ocp/48000000.interconnect/48000000.interconnect:segment@0/4806c050.target-module/4806c000.serial/tty/ttyS1
-/sys/devices/platform/serial8250/tty/ttyS4
-/sys/devices/platform/serial8250/tty/ttyS5
+/sys/devices/platform/ocp/48000000.interconnect/48000000.interconnect:segment@0/4806e050.target-module/4806e000.serial/4806e000.serial:0/4806e000.serial:0.0/serial0
+/sys/devices/platform/ocp/48000000.interconnect/48000000.interconnect:segment@0/48020050.target-module/48020000.serial/48020000.serial:0/48020000.serial:0.0/tty/ttyS2
+/sys/devices/platform/ocp/48000000.interconnect/48000000.interconnect:segment@0/4806a050.target-module/4806a000.serial/4806a000.serial:0/4806a000.serial:0.0/tty/ttyS0
+/sys/devices/platform/ocp/48000000.interconnect/48000000.interconnect:segment@0/4806c050.target-module/4806c000.serial/4806c000.serial:0/4806c000.serial:0.0/tty/ttyS1
+/sys/devices/platform/serial8250/serial8250:0/serial8250:0.5/tty/ttyS5
+/sys/devices/platform/serial8250/serial8250:0/serial8250:0.4/tty/ttyS4
/sys/class/tty/ttyS4
/sys/class/tty/ttyS2
/sys/class/tty/ttyS0

> > There are multiple ports claimed by serial8250. So I think the new sysfs
> > output is correct showing more ttys. If there's some reason why serial8250
> > should only have one tty and this output is not correct let me know too..
>
> There should not be more class devices, you've just moved them and thus
> there are more class directories (with one device per directory).

OK makes sense.

Thanks,

Tony