serial: amba-pl011: remove redundant code in rs485_config
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 - nullifies the padding field of the passed serial_rs485 struct - clamps the RTS delays - assigns the passed serial_rs485 struct to the uart port So remove these tasks from the code of the drivers rs485_config() function to avoid redundancy. Signed-off-by: Lino Sanfilippo <LinoSanfilippo@gmx.de> Link: https://lore.kernel.org/r/20220410104642.32195-3-LinoSanfilippo@gmx.de Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
0ed12afa56
commit
a9efa45248
@@ -2170,25 +2170,11 @@ static int pl011_rs485_config(struct uart_port *port,
|
|||||||
struct uart_amba_port *uap =
|
struct uart_amba_port *uap =
|
||||||
container_of(port, struct uart_amba_port, port);
|
container_of(port, struct uart_amba_port, port);
|
||||||
|
|
||||||
/* pick sane settings if the user hasn't */
|
|
||||||
if (!(rs485->flags & SER_RS485_RTS_ON_SEND) ==
|
|
||||||
!(rs485->flags & SER_RS485_RTS_AFTER_SEND)) {
|
|
||||||
rs485->flags |= SER_RS485_RTS_ON_SEND;
|
|
||||||
rs485->flags &= ~SER_RS485_RTS_AFTER_SEND;
|
|
||||||
}
|
|
||||||
/* clamp the delays to [0, 100ms] */
|
|
||||||
rs485->delay_rts_before_send = min(rs485->delay_rts_before_send, 100U);
|
|
||||||
rs485->delay_rts_after_send = min(rs485->delay_rts_after_send, 100U);
|
|
||||||
memset(rs485->padding, 0, sizeof(rs485->padding));
|
|
||||||
|
|
||||||
if (port->rs485.flags & SER_RS485_ENABLED)
|
if (port->rs485.flags & SER_RS485_ENABLED)
|
||||||
pl011_rs485_tx_stop(uap);
|
pl011_rs485_tx_stop(uap);
|
||||||
|
|
||||||
/* Set new configuration */
|
|
||||||
port->rs485 = *rs485;
|
|
||||||
|
|
||||||
/* Make sure auto RTS is disabled */
|
/* Make sure auto RTS is disabled */
|
||||||
if (port->rs485.flags & SER_RS485_ENABLED) {
|
if (rs485->flags & SER_RS485_ENABLED) {
|
||||||
u32 cr = pl011_read(uap, REG_CR);
|
u32 cr = pl011_read(uap, REG_CR);
|
||||||
|
|
||||||
cr &= ~UART011_CR_RTSEN;
|
cr &= ~UART011_CR_RTSEN;
|
||||||
|
|||||||
Reference in New Issue
Block a user