serial: 8250_pnp: Support configurable clock frequency
authorJianmin Lv <lvjianmin@loongson.cn>
Thu, 15 Jul 2021 06:16:37 +0000 (14:16 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 21 Jul 2021 10:31:02 +0000 (12:31 +0200)
ACPI-based Loongson boards need configurable rather than fixed clock
frequency for serial ports.

Signed-off-by: Jianmin Lv <lvjianmin@loongson.cn>
Signed-off-by: Huacai Chen <chenhuacai@loongson.cn>
Link: https://lore.kernel.org/r/20210715061637.134436-1-chenhuacai@loongson.cn
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/8250/8250_pnp.c

index de90d68..98e5ee4 100644 (file)
@@ -13,6 +13,7 @@
 #include <linux/pnp.h>
 #include <linux/string.h>
 #include <linux/kernel.h>
+#include <linux/property.h>
 #include <linux/serial_core.h>
 #include <linux/bitops.h>
 
@@ -475,6 +476,7 @@ serial_pnp_probe(struct pnp_dev *dev, const struct pnp_device_id *dev_id)
        if (pnp_irq_flags(dev, 0) & IORESOURCE_IRQ_SHAREABLE)
                uart.port.flags |= UPF_SHARE_IRQ;
        uart.port.uartclk = 1843200;
+       device_property_read_u32(&dev->dev, "clock-frequency", &uart.port.uartclk);
        uart.port.dev = &dev->dev;
 
        line = serial8250_register_8250_port(&uart);