[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20240424191908.32565-2-rilian.la.te@ya.ru>
Date: Wed, 24 Apr 2024 22:18:52 +0300
From: Konstantin Pugin <rilian.la.te@...ru>
To:
Cc: krzk@...nel.org,
conor@...nel.org,
lkp@...el.com,
vz@...ia.com,
robh@...nel.org,
jcmvbkbc@...il.com,
nicolas.ferre@...rochip.com,
manikanta.guntupalli@....com,
corbet@....net,
ychuang3@...oton.com,
u.kleine-koenig@...gutronix.de,
Maarten.Brock@...ls.nl,
Konstantin Pugin <ria.freelander@...il.com>,
Hugo Villeneuve <hvilleneuve@...onoff.com>,
Andy Shevchenko <andy@...nel.org>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Jiri Slaby <jirislaby@...nel.org>,
Lech Perczak <lech.perczak@...lingroup.com>,
Ilpo Järvinen <ilpo.jarvinen@...ux.intel.com>,
linux-kernel@...r.kernel.org,
linux-serial@...r.kernel.org
Subject: [PATCH v8 1/3] serial: sc16is7xx: announce support of SER_RS485_RTS_ON_SEND
From: Konstantin Pugin <ria.freelander@...il.com>
When specifying flag SER_RS485_RTS_ON_SEND in RS485 configuration,
we get the following warning after commit 4afeced55baa ("serial: core:
fix sanitizing check for RTS settings"):
invalid RTS setting, using RTS_AFTER_SEND instead
This results in SER_RS485_RTS_AFTER_SEND being set and the
driver always write to the register field SC16IS7XX_EFCR_RTS_INVERT_BIT,
which breaks some hardware using these chips.
The hardware supports both RTS_ON_SEND and RTS_AFTER_SEND modes, so fix
this by announcing support for RTS_ON_SEND.
Fixes: 267913ecf737 ("serial: sc16is7xx: Fill in rs485_supported")
Tested-by: Hugo Villeneuve <hvilleneuve@...onoff.com>
Reviewed-by: Andy Shevchenko <andy@...nel.org>
Signed-off-by: Konstantin Pugin <ria.freelander@...il.com>
---
drivers/tty/serial/sc16is7xx.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/tty/serial/sc16is7xx.c b/drivers/tty/serial/sc16is7xx.c
index 03cf30e20b75..dfcc804f558f 100644
--- a/drivers/tty/serial/sc16is7xx.c
+++ b/drivers/tty/serial/sc16is7xx.c
@@ -1449,7 +1449,7 @@ static int sc16is7xx_setup_mctrl_ports(struct sc16is7xx_port *s,
}
static const struct serial_rs485 sc16is7xx_rs485_supported = {
- .flags = SER_RS485_ENABLED | SER_RS485_RTS_AFTER_SEND,
+ .flags = SER_RS485_ENABLED | SER_RS485_RTS_ON_SEND | SER_RS485_RTS_AFTER_SEND,
.delay_rts_before_send = 1,
.delay_rts_after_send = 1, /* Not supported but keep returning -EINVAL */
};
--
2.44.0
Powered by blists - more mailing lists