serial: 8250_rt288x: Remove unnecessary UART_REG_UNMAPPED
authorIlpo Järvinen <ilpo.jarvinen@linux.intel.com>
Thu, 11 May 2023 12:10:29 +0000 (15:10 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Sat, 13 May 2023 10:47:26 +0000 (19:47 +0900)
As unmapped registers are at the tail of the array, the ARRAY_SIZE()
condition will catch them just fine. No need to define special
value for them.

Convert the arrays to u8 as all entiries are now positive.

Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com>
Link: https://lore.kernel.org/r/20230511121029.13128-7-ilpo.jarvinen@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/8250/8250_rt288x.c

index b091a12..6415ca8 100644 (file)
 
 #define RT288X_DL      0x28
 
-#define UART_REG_UNMAPPED      -1
-
 /* Au1x00/RT288x UART hardware has a weird register layout */
-static const s8 au_io_in_map[8] = {
+static const u8 au_io_in_map[7] = {
        [UART_RX]       = 0,
        [UART_IER]      = 2,
        [UART_IIR]      = 3,
@@ -25,18 +23,14 @@ static const s8 au_io_in_map[8] = {
        [UART_MCR]      = 6,
        [UART_LSR]      = 7,
        [UART_MSR]      = 8,
-       [UART_SCR]      = UART_REG_UNMAPPED,
 };
 
-static const s8 au_io_out_map[8] = {
+static const u8 au_io_out_map[5] = {
        [UART_TX]       = 1,
        [UART_IER]      = 2,
        [UART_FCR]      = 4,
        [UART_LCR]      = 5,
        [UART_MCR]      = 6,
-       [UART_LSR]      = UART_REG_UNMAPPED,
-       [UART_MSR]      = UART_REG_UNMAPPED,
-       [UART_SCR]      = UART_REG_UNMAPPED,
 };
 
 static unsigned int au_serial_in(struct uart_port *p, int offset)
@@ -44,8 +38,7 @@ static unsigned int au_serial_in(struct uart_port *p, int offset)
        if (offset >= ARRAY_SIZE(au_io_in_map))
                return UINT_MAX;
        offset = au_io_in_map[offset];
-       if (offset == UART_REG_UNMAPPED)
-               return UINT_MAX;
+
        return __raw_readl(p->membase + (offset << p->regshift));
 }
 
@@ -54,8 +47,7 @@ static void au_serial_out(struct uart_port *p, int offset, int value)
        if (offset >= ARRAY_SIZE(au_io_out_map))
                return;
        offset = au_io_out_map[offset];
-       if (offset == UART_REG_UNMAPPED)
-               return;
+
        __raw_writel(value, p->membase + (offset << p->regshift));
 }