serial: 8250_dw: Use dw8250_serial_out() in dw8250_serial_out38x()
authorIlpo Järvinen <ilpo.jarvinen@linux.intel.com>
Tue, 28 Jun 2022 13:42:31 +0000 (16:42 +0300)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 30 Jun 2022 15:11:45 +0000 (17:11 +0200)
Place dw8250_serial_out() before dw8250_serial_out38x() so that it can
be called from dw8250_serial_out38x() to do the actual write.

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

index b5b783f012212b538a564f0141b9944d430c7561..e419e032895c4fe3b6d0aeea0c7c487ff4a6f473 100644 (file)
@@ -144,29 +144,23 @@ static void dw8250_tx_wait_empty(struct uart_port *p)
        }
 }
 
-static void dw8250_serial_out38x(struct uart_port *p, int offset, int value)
+static void dw8250_serial_out(struct uart_port *p, int offset, int value)
 {
        struct dw8250_data *d = to_dw8250_data(p->private_data);
 
-       /* Allow the TX to drain before we reconfigure */
-       if (offset == UART_LCR)
-               dw8250_tx_wait_empty(p);
-
        writeb(value, p->membase + (offset << p->regshift));
 
        if (offset == UART_LCR && !d->uart_16550_compatible)
                dw8250_check_lcr(p, value);
 }
 
-
-static void dw8250_serial_out(struct uart_port *p, int offset, int value)
+static void dw8250_serial_out38x(struct uart_port *p, int offset, int value)
 {
-       struct dw8250_data *d = to_dw8250_data(p->private_data);
-
-       writeb(value, p->membase + (offset << p->regshift));
+       /* Allow the TX to drain before we reconfigure */
+       if (offset == UART_LCR)
+               dw8250_tx_wait_empty(p);
 
-       if (offset == UART_LCR && !d->uart_16550_compatible)
-               dw8250_check_lcr(p, value);
+       dw8250_serial_out(p, offset, value);
 }
 
 static unsigned int dw8250_serial_in(struct uart_port *p, int offset)