Re: [PATCH] serial: sprd: Support 12 uart ports

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





On 8/9/2023 1:52 PM, wenhua lin wrote:
The change of the max ports is to adapt to an new
SPRD serial hardware,also is backward-compatibility with old hardware.

Again, DO NOT top-posting! Thanks.


On 8/7/2023 4:07 PM, Wenhua Lin wrote:
From: Wenhua Lin <wenhua.lin@xxxxxxxxxx>

Support 12 uart ports, which can solve the problem
of insufficient uart ports.

This sounds incorrect to me.
If this is a software bug, please add a Fixes tag to backport for stable
kernels. If the change of the max ports is only avaliable on the new
SPRD serial hardware, you should ensure the change is
backward-compatibility with old hardware.

This is not backward-compatibility. Please see 'sprd_uart_driver' structure as below:

static struct uart_driver sprd_uart_driver = {
	.owner = THIS_MODULE,
	.driver_name = "sprd_serial",
	.dev_name = SPRD_TTY_NAME,
	.major = 0,
	.minor = 0,
	.nr = UART_NR_MAX,
	.cons = SPRD_CONSOLE,
};

That means you will still register 12 UART ports in the tty for old serial hardwares which actually only support 8 UART ports, and if users want to use another 4 ports which are not supported in the hardware, then system crashes.

So I think you should add a SoC data in 'serial_ids' to change the number of UART port according to different SoC.

Signed-off-by: Wenhua Lin <wenhua.lin@xxxxxxxxxx>
---
   drivers/tty/serial/sprd_serial.c | 2 +-
   1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/tty/serial/sprd_serial.c b/drivers/tty/serial/sprd_serial.c
index b58f51296ace..2774df490899 100644
--- a/drivers/tty/serial/sprd_serial.c
+++ b/drivers/tty/serial/sprd_serial.c
@@ -22,7 +22,7 @@
   #include <linux/tty_flip.h>

   /* device name */
-#define UART_NR_MAX          8
+#define UART_NR_MAX          12
   #define SPRD_TTY_NAME               "ttyS"
   #define SPRD_FIFO_SIZE              128
   #define SPRD_DEF_RATE               26000000



[Index of Archives]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux PPP]     [Linux FS]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Video 4 Linux]     [Linmodem]     [Device Mapper]     [Linux Kernel for ARM]

  Powered by Linux