serial: exar: moved generic_rs485 further up in 8250_exar.c
authorParker Newman <pnewman@connecttech.com>
Wed, 17 Apr 2024 20:31:26 +0000 (16:31 -0400)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 18 Apr 2024 06:23:50 +0000 (08:23 +0200)
Preparatory patch moving generic_rs485_config and
generic_rs485_supported higher in the file to allow for CTI setup
functions to use them.

Signed-off-by: Parker Newman <pnewman@connecttech.com>
Link: https://lore.kernel.org/r/a7bf2a42de759908c058246ec15f60bde9a5dc65.1713382717.git.pnewman@connecttech.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/8250/8250_exar.c

index f14f73d250bbba7047c39e6eacf76941769fba10..e68029a5912222c7ba6e6a35e9a57de29a4be1a9 100644 (file)
@@ -197,6 +197,31 @@ struct exar8250 {
        int                     line[];
 };
 
+static int generic_rs485_config(struct uart_port *port, struct ktermios *termios,
+                               struct serial_rs485 *rs485)
+{
+       bool is_rs485 = !!(rs485->flags & SER_RS485_ENABLED);
+       u8 __iomem *p = port->membase;
+       u8 value;
+
+       value = readb(p + UART_EXAR_FCTR);
+       if (is_rs485)
+               value |= UART_FCTR_EXAR_485;
+       else
+               value &= ~UART_FCTR_EXAR_485;
+
+       writeb(value, p + UART_EXAR_FCTR);
+
+       if (is_rs485)
+               writeb(UART_EXAR_RS485_DLY(4), p + UART_MSR);
+
+       return 0;
+}
+
+static const struct serial_rs485 generic_rs485_supported = {
+       .flags = SER_RS485_ENABLED | SER_RS485_RTS_ON_SEND,
+};
+
 static void exar_pm(struct uart_port *port, unsigned int state, unsigned int old)
 {
        /*
@@ -459,27 +484,6 @@ static void xr17v35x_unregister_gpio(struct uart_8250_port *port)
        port->port.private_data = NULL;
 }
 
-static int generic_rs485_config(struct uart_port *port, struct ktermios *termios,
-                               struct serial_rs485 *rs485)
-{
-       bool is_rs485 = !!(rs485->flags & SER_RS485_ENABLED);
-       u8 __iomem *p = port->membase;
-       u8 value;
-
-       value = readb(p + UART_EXAR_FCTR);
-       if (is_rs485)
-               value |= UART_FCTR_EXAR_485;
-       else
-               value &= ~UART_FCTR_EXAR_485;
-
-       writeb(value, p + UART_EXAR_FCTR);
-
-       if (is_rs485)
-               writeb(UART_EXAR_RS485_DLY(4), p + UART_MSR);
-
-       return 0;
-}
-
 static int sealevel_rs485_config(struct uart_port *port, struct ktermios *termios,
                                  struct serial_rs485 *rs485)
 {
@@ -518,10 +522,6 @@ static int sealevel_rs485_config(struct uart_port *port, struct ktermios *termio
        return 0;
 }
 
-static const struct serial_rs485 generic_rs485_supported = {
-       .flags = SER_RS485_ENABLED | SER_RS485_RTS_ON_SEND,
-};
-
 static const struct exar8250_platform exar8250_default_platform = {
        .register_gpio = xr17v35x_register_gpio,
        .unregister_gpio = xr17v35x_unregister_gpio,