serial: fsl_lpuart: remove redundant code in rs485_config functions
authorLino Sanfilippo <LinoSanfilippo@gmx.de>
Sun, 10 Apr 2022 10:46:41 +0000 (12:46 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 15 Apr 2022 09:30:22 +0000 (11:30 +0200)
In uart_set_rs485_config() the serial core already ensures that only one of
both options RTS on send or RTS after send is set. It also assigns the
passed serial_rs485 struct to the uart port.

So remove the check and the assignment from the drivers rs485_config()
function to avoid redundancy.

Signed-off-by: Lino Sanfilippo <LinoSanfilippo@gmx.de>
Link: https://lore.kernel.org/r/20220410104642.32195-9-LinoSanfilippo@gmx.de
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/fsl_lpuart.c

index 87789872f400660cc917331703d787662e35a490..8fea7fd915d2ea8ab2ff2b9fdeb7cf5a7b4f0529 100644 (file)
@@ -1377,19 +1377,6 @@ static int lpuart_config_rs485(struct uart_port *port,
                /* Enable auto RS-485 RTS mode */
                modem |= UARTMODEM_TXRTSE;
 
-               /*
-                * RTS needs to be logic HIGH either during transfer _or_ after
-                * transfer, other variants are not supported by the hardware.
-                */
-
-               if (!(rs485->flags & (SER_RS485_RTS_ON_SEND |
-                               SER_RS485_RTS_AFTER_SEND)))
-                       rs485->flags |= SER_RS485_RTS_ON_SEND;
-
-               if (rs485->flags & SER_RS485_RTS_ON_SEND &&
-                               rs485->flags & SER_RS485_RTS_AFTER_SEND)
-                       rs485->flags &= ~SER_RS485_RTS_AFTER_SEND;
-
                /*
                 * The hardware defaults to RTS logic HIGH while transfer.
                 * Switch polarity in case RTS shall be logic HIGH
@@ -1402,9 +1389,6 @@ static int lpuart_config_rs485(struct uart_port *port,
                        modem |= UARTMODEM_TXRTSPOL;
        }
 
-       /* Store the new configuration */
-       sport->port.rs485 = *rs485;
-
        writeb(modem, sport->port.membase + UARTMODEM);
        return 0;
 }
@@ -1428,19 +1412,6 @@ static int lpuart32_config_rs485(struct uart_port *port,
                /* Enable auto RS-485 RTS mode */
                modem |= UARTMODEM_TXRTSE;
 
-               /*
-                * RTS needs to be logic HIGH either during transfer _or_ after
-                * transfer, other variants are not supported by the hardware.
-                */
-
-               if (!(rs485->flags & (SER_RS485_RTS_ON_SEND |
-                               SER_RS485_RTS_AFTER_SEND)))
-                       rs485->flags |= SER_RS485_RTS_ON_SEND;
-
-               if (rs485->flags & SER_RS485_RTS_ON_SEND &&
-                               rs485->flags & SER_RS485_RTS_AFTER_SEND)
-                       rs485->flags &= ~SER_RS485_RTS_AFTER_SEND;
-
                /*
                 * The hardware defaults to RTS logic HIGH while transfer.
                 * Switch polarity in case RTS shall be logic HIGH
@@ -1453,9 +1424,6 @@ static int lpuart32_config_rs485(struct uart_port *port,
                        modem |= UARTMODEM_TXRTSPOL;
        }
 
-       /* Store the new configuration */
-       sport->port.rs485 = *rs485;
-
        lpuart32_write(&sport->port, modem, UARTMODIR);
        return 0;
 }