linux-stable/drivers/tty
Hugo Villeneuve 7e3ca33752 serial: sc16is7xx: fix regression with GPIO configuration
[ Upstream commit 0499942928 ]

Commit 679875d1d8 ("sc16is7xx: Separate GPIOs from modem control lines")
and commit 21144bab4f ("sc16is7xx: Handle modem status lines")
changed the function of the GPIOs pins to act as modem control
lines without any possibility of selecting GPIO function.

As a consequence, applications that depends on GPIO lines configured
by default as GPIO pins no longer work as expected.

Also, the change to select modem control lines function was done only
for channel A of dual UART variants (752/762). This was not documented
in the log message.

Allow to specify GPIO or modem control line function in the device
tree, and for each of the ports (A or B).

Do so by using the new device-tree property named
"nxp,modem-control-line-ports" (property added in separate patch).

When registering GPIO chip controller, mask-out GPIO pins declared as
modem control lines according to this new DT property.

Fixes: 679875d1d8 ("sc16is7xx: Separate GPIOs from modem control lines")
Fixes: 21144bab4f ("sc16is7xx: Handle modem status lines")
Cc: stable@vger.kernel.org
Signed-off-by: Hugo Villeneuve <hvilleneuve@dimonoff.com>
Reviewed-by: Andy Shevchenko <andy.shevchenko@gmail.com>
Reviewed-by: Lech Perczak <lech.perczak@camlingroup.com>
Tested-by: Lech Perczak <lech.perczak@camlingroup.com>
Acked-by: Rob Herring <robh@kernel.org>
Link: https://lore.kernel.org/r/20230807214556.540627-5-hugo@hugovil.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2023-09-13 09:48:44 +02:00
..
hvc
ipwireless
serdev
serial serial: sc16is7xx: fix regression with GPIO configuration 2023-09-13 09:48:44 +02:00
vt vc_screen: reload load of struct vc_data pointer in vcs_write() to avoid UAF 2023-05-13 20:01:13 +09:00
amiserial.c
ehv_bytechan.c
goldfish.c
Kconfig TIOCSTI: Document CAP_SYS_ADMIN behaviour in Kconfig 2023-08-30 14:52:45 +02:00
Makefile
mips_ejtag_fdc.c
moxa.c
mxser.c
n_gsm.c tty: n_gsm: fix the UAF caused by race condition in gsm_cleanup_mux 2023-08-23 17:32:38 +02:00
n_hdlc.c
n_null.c
n_tty.c tty: fix hang on tty device with no_room set 2023-07-23 13:54:06 +02:00
nozomi.c
pty.c
rpmsg_tty.c
synclink_gt.c
sysrq.c
tty.h
tty_audit.c
tty_baudrate.c
tty_buffer.c
tty_io.c TIOCSTI: always enable for CAP_SYS_ADMIN 2023-08-03 10:26:03 +02:00
tty_ioctl.c
tty_jobctrl.c
tty_ldisc.c
tty_ldsem.c
tty_mutex.c
tty_port.c
ttynull.c
vcc.c