[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <acca4f3e-2763-655-9968-bbaa9920d289@linux.intel.com>
Date: Wed, 13 Dec 2023 12:18:50 +0200 (EET)
From: Ilpo Järvinen <ilpo.jarvinen@...ux.intel.com>
To: Lino Sanfilippo <l.sanfilippo@...bus.com>
cc: Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Jiri Slaby <jirislaby@...nel.org>,
u.kleine-koenig@...gutronix.de, shawnguo@...nel.org,
s.hauer@...gutronix.de, mcoquelin.stm32@...il.com,
alexandre.torgue@...s.st.com, cniedermaier@...electronics.com,
hugo@...ovil.com, LKML <linux-kernel@...r.kernel.org>,
linux-serial <linux-serial@...r.kernel.org>,
LinoSanfilippo@....de, Lukas Wunner <lukas@...ner.de>,
p.rosenberger@...bus.com, stable@...r.kernel.org
Subject: Re: [PATCH v5 7/7] serial: 8250_exar: Set missing rs485_supported
flag
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@...r.kernel.org
> Signed-off-by: Lino Sanfilippo <l.sanfilippo@...bus.com>
> ---
> 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@...ux.intel.com>
(I assume you picked the correct flag among the two alternatives).
--
i.
Powered by blists - more mailing lists