On Sat, 9 Dec 2023, Lino Sanfilippo wrote: > The UART supports an auto-RTS mode in which the RTS pin is automatically > activated during transmission. So mark this mode as being supported even > if RTS is not controlled by the driver but the UART. > > Also the serial core expects now at least one of both modes rts-on-send or > rts-after-send to be supported. This is since during sanitization > unsupported flags are deleted from a RS485 configuration set by userspace. > However if the configuration ends up with both flags unset, the core prints > a warning since it considers such a configuration invalid (see > uart_sanitize_serial_rs485()). > > Cc: stable@xxxxxxxxxxxxxxx > Signed-off-by: Lino Sanfilippo <l.sanfilippo@xxxxxxxxxx> > --- > drivers/tty/serial/8250/8250_exar.c | 5 +++-- > 1 file changed, 3 insertions(+), 2 deletions(-) > > diff --git a/drivers/tty/serial/8250/8250_exar.c b/drivers/tty/serial/8250/8250_exar.c > index 6085d356ad86..23366f868ae3 100644 > --- a/drivers/tty/serial/8250/8250_exar.c > +++ b/drivers/tty/serial/8250/8250_exar.c > @@ -480,7 +480,7 @@ static int sealevel_rs485_config(struct uart_port *port, struct ktermios *termio > } > > static const struct serial_rs485 generic_rs485_supported = { > - .flags = SER_RS485_ENABLED, > + .flags = SER_RS485_ENABLED | SER_RS485_RTS_ON_SEND, > }; > > static const struct exar8250_platform exar8250_default_platform = { > @@ -524,7 +524,8 @@ static int iot2040_rs485_config(struct uart_port *port, struct ktermios *termios > } > > static const struct serial_rs485 iot2040_rs485_supported = { > - .flags = SER_RS485_ENABLED | SER_RS485_RX_DURING_TX | SER_RS485_TERMINATE_BUS, > + .flags = SER_RS485_ENABLED | SER_RS485_RTS_ON_SEND | > + SER_RS485_RX_DURING_TX | SER_RS485_TERMINATE_BUS, > }; > > static const struct property_entry iot2040_gpio_properties[] = { Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@xxxxxxxxxxxxxxx> (I assume you picked the correct flag among the two alternatives). -- i.