[PATCH] serial: core: restore of_node information in sysfs
From: Aidan Stewart
Date: Mon Jun 16 2025 - 12:25:24 EST
Since in v6.8-rc1, the of_node symlink under tty devices is
missing. This breaks any udev rules relying on this information.
Link the of_node information in the serial controller device with the
parent defined in the device tree. This will also apply to the serial
device which takes the serial controller as a parent device.
Fixes: b286f4e87e32 ("serial: core: Move tty and serdev to be children of serial core port device")
Cc: stable@xxxxxxxxxxxxxxx
Signed-off-by: Aidan Stewart <astewart@xxxxxxxxxxxx>
---
drivers/tty/serial/serial_base_bus.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/drivers/tty/serial/serial_base_bus.c b/drivers/tty/serial/serial_base_bus.c
index 5d1677f1b651..0e4bf7a3e775 100644
--- a/drivers/tty/serial/serial_base_bus.c
+++ b/drivers/tty/serial/serial_base_bus.c
@@ -73,6 +73,10 @@ static int serial_base_device_init(struct uart_port *port,
dev->bus = &serial_base_bus_type;
dev->release = release;
+ if (IS_ENABLED(CONFIG_OF)) {
+ device_set_of_node_from_dev(dev, parent_dev);
+ }
+
if (!serial_base_initialized) {
dev_dbg(port->dev, "uart_add_one_port() called before arch_initcall()?\n");
return -EPROBE_DEFER;
--
2.49.0