[PATCH v2] serial: 8250_pnp: Support configurable reg shift property

From: Guanbing Huang
Date: Wed Mar 06 2024 - 06:42:50 EST


From: Guanbing Huang <albanhuang@xxxxxxxxxxx>

The 16550a serial port based on the ACPI table requires obtaining the
reg-shift attribute. In the ACPI scenario, If the reg-shift property
is not configured like in DTS, the 16550a serial driver cannot read or
write controller registers properly during initialization.

Signed-off-by: Guanbing Huang <albanhuang@xxxxxxxxxxx>
Signed-off-by: Bing Fan <tombinfan@xxxxxxxxxxx>
Signed-off-by: Linheng Du <dylanlhdu@xxxxxxxxxxx>
---
v2: change the names after "Signed off by" to the real names

drivers/tty/serial/8250/8250_pnp.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/tty/serial/8250/8250_pnp.c b/drivers/tty/serial/8250/8250_pnp.c
index 1974bbadc975..25b4e41e9745 100644
--- a/drivers/tty/serial/8250/8250_pnp.c
+++ b/drivers/tty/serial/8250/8250_pnp.c
@@ -473,6 +473,7 @@ serial_pnp_probe(struct pnp_dev *dev, const struct pnp_device_id *dev_id)
uart.port.flags |= UPF_SHARE_IRQ;
uart.port.uartclk = 1843200;
device_property_read_u32(&dev->dev, "clock-frequency", &uart.port.uartclk);
+ device_property_read_u8(&dev->dev, "reg-shift", &uart.port.regshift);
uart.port.dev = &dev->dev;

line = serial8250_register_8250_port(&uart);
--
2.17.1