linux/drivers/usb/serial
Johan Hovold 01fd45f676 USB: serial: add generic support for TIOCSSERIAL
TIOCSSERIAL is a horrid, underspecified, legacy interface which for most
serial devices is only useful for setting the close_delay and
closing_wait parameters.

The closing_wait parameter determines how long to wait for the transfer
buffers to drain during close and the default timeout of 30 seconds may
not be sufficient at low line speeds. In other cases, when for example
flow is stopped, the default timeout may instead be too long.

Add generic support for TIOCSSERIAL and TIOCGSERIAL with handling of the
three common parameters close_delay, closing_wait and line for the
benefit of all USB serial drivers while still allowing drivers to
implement further functionality through the existing callbacks.

This currently includes a few drivers that report their base baud clock
rate even if that is really only of interest when setting custom
divisors through the deprecated ASYNC_SPD_CUST interface; an interface
which only the FTDI driver actually implements.

Some drivers have also been reporting back a fake UART type, something
which should no longer be needed and will be dropped by a follow-on
patch.

Reviewed-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Johan Hovold <johan@kernel.org>
2021-04-08 09:46:02 +02:00
..
aircable.c USB: serial: drop redundant transfer-buffer casts 2020-07-09 09:20:17 +02:00
ark3116.c USB: serial: add generic support for TIOCSSERIAL 2021-04-08 09:46:02 +02:00
belkin_sa.c USB: serial: make remove callback return void 2021-02-09 13:13:58 +01:00
belkin_sa.h USB: serial: Use the correct style for SPDX License Identifier 2020-04-22 09:26:47 +02:00
bus.c USB: serial: drop bogus to_usb_serial_port() checks 2021-02-09 13:14:30 +01:00
ch341.c USB: serial: ch341: add new Product ID 2021-03-09 09:05:36 +01:00
console.c USB: serial: console: add support for flow control 2020-07-02 10:38:45 +02:00
cp210x.c USB: serial: cp210x: add some more GE USB IDs 2021-03-09 09:05:36 +01:00
cyberjack.c USB: serial: make remove callback return void 2021-02-09 13:13:58 +01:00
cypress_m8.c USB: serial: make remove callback return void 2021-02-09 13:13:58 +01:00
cypress_m8.h USB: serial: cypress_m8: enable Simply Automated UPB PIM 2020-06-23 09:56:17 +02:00
digi_acceleport.c USB: serial: make remove callback return void 2021-02-09 13:13:58 +01:00
empeg.c
ezusb_convert.pl
f81232.c USB: serial: add generic support for TIOCSSERIAL 2021-04-08 09:46:02 +02:00
f81534.c USB: serial: add generic support for TIOCSSERIAL 2021-04-08 09:46:02 +02:00
ftdi_sio_ids.h USB: serial: ftdi_sio: add support for FreeCalypso JTAG+UART adapters 2020-09-29 09:40:11 +02:00
ftdi_sio.c USB: serial: add generic support for TIOCSSERIAL 2021-04-08 09:46:02 +02:00
ftdi_sio.h USB: Fix up terminology 2020-07-01 14:04:04 +02:00
garmin_gps.c USB: serial: make remove callback return void 2021-02-09 13:13:58 +01:00
generic.c USB: serial: drop redundant transfer-buffer casts 2020-07-09 09:20:17 +02:00
io_16654.h USB: serial: Use the correct style for SPDX License Identifier 2020-04-22 09:26:47 +02:00
io_edgeport.c USB: serial: add generic support for TIOCSSERIAL 2021-04-08 09:46:02 +02:00
io_edgeport.h USB: serial: Use the correct style for SPDX License Identifier 2020-04-22 09:26:47 +02:00
io_ionsp.h USB: serial: Use the correct style for SPDX License Identifier 2020-04-22 09:26:47 +02:00
io_ti.c USB: serial: add generic support for TIOCSSERIAL 2021-04-08 09:46:02 +02:00
io_ti.h USB: serial: Use the correct style for SPDX License Identifier 2020-04-22 09:26:47 +02:00
io_usbvend.h USB: serial: Use the correct style for SPDX License Identifier 2020-04-22 09:26:47 +02:00
ipaq.c
ipw.c
ir-usb.c
iuu_phoenix.c USB: serial: iuu_phoenix: remove redundant variable 'error' 2021-04-01 09:53:14 +02:00
iuu_phoenix.h USB: serial: Use the correct style for SPDX License Identifier 2020-04-22 09:26:47 +02:00
Kconfig USB: serial: add MaxLinear/Exar USB to Serial driver 2021-01-21 10:49:37 +01:00
keyspan_pda.c USB: serial: make remove callback return void 2021-02-09 13:13:58 +01:00
keyspan_usa26msg.h
keyspan_usa28msg.h
keyspan_usa49msg.h
keyspan_usa67msg.h
keyspan_usa90msg.h
keyspan.c USB: serial: keyspan: drop unneeded forward declarations 2021-03-15 09:29:47 +01:00
kl5kusb105.c USB: serial: make remove callback return void 2021-02-09 13:13:58 +01:00
kl5kusb105.h
kobil_sct.c USB: serial: make remove callback return void 2021-02-09 13:13:58 +01:00
kobil_sct.h
Makefile USB: serial: add MaxLinear/Exar USB to Serial driver 2021-01-21 10:49:37 +01:00
Makefile-keyspan_pda_fw
mct_u232.c USB: serial: make remove callback return void 2021-02-09 13:13:58 +01:00
mct_u232.h USB: serial: Use the correct style for SPDX License Identifier 2020-04-22 09:26:47 +02:00
metro-usb.c USB: serial: make remove callback return void 2021-02-09 13:13:58 +01:00
mos7720.c USB: serial: add generic support for TIOCSSERIAL 2021-04-08 09:46:02 +02:00
mos7840.c USB: serial: add generic support for TIOCSSERIAL 2021-04-08 09:46:02 +02:00
mxuport.c USB: serial: mxuport: drop short control-transfer check 2021-01-18 14:26:14 +01:00
navman.c
omninet.c USB: serial: make remove callback return void 2021-02-09 13:13:58 +01:00
opticon.c USB: serial: add generic support for TIOCSSERIAL 2021-04-08 09:46:02 +02:00
option.c USB: serial: add generic support for TIOCSSERIAL 2021-04-08 09:46:02 +02:00
oti6858.c USB: serial: make remove callback return void 2021-02-09 13:13:58 +01:00
oti6858.h USB: serial: Use the correct style for SPDX License Identifier 2020-04-22 09:26:47 +02:00
pl2303.c USB: serial: add generic support for TIOCSSERIAL 2021-04-08 09:46:02 +02:00
pl2303.h USB: serial: pl2303: add device-id for HP GC device 2020-09-29 12:50:34 +02:00
qcaux.c
qcserial.c USB: serial: qcserial: fix altsetting probing 2020-10-01 09:37:30 +02:00
quatech2.c USB: serial: add generic support for TIOCSSERIAL 2021-04-08 09:46:02 +02:00
safe_serial.c
sierra.c USB: serial: make remove callback return void 2021-02-09 13:13:58 +01:00
spcp8x5.c USB: serial: make remove callback return void 2021-02-09 13:13:58 +01:00
ssu100.c USB: serial: add generic support for TIOCSSERIAL 2021-04-08 09:46:02 +02:00
symbolserial.c USB: serial: make remove callback return void 2021-02-09 13:13:58 +01:00
ti_usb_3410_5052.c USB: serial: add generic support for TIOCSSERIAL 2021-04-08 09:46:02 +02:00
upd78f0730.c USB: serial: make remove callback return void 2021-02-09 13:13:58 +01:00
usb_debug.c
usb_wwan.c USB: serial: add generic support for TIOCSSERIAL 2021-04-08 09:46:02 +02:00
usb-serial-simple.c
usb-serial.c USB: serial: add generic support for TIOCSSERIAL 2021-04-08 09:46:02 +02:00
usb-wwan.h USB: serial: add generic support for TIOCSSERIAL 2021-04-08 09:46:02 +02:00
visor.c
visor.h USB: serial: Use the correct style for SPDX License Identifier 2020-04-22 09:26:47 +02:00
whiteheat.c USB: serial: add generic support for TIOCSSERIAL 2021-04-08 09:46:02 +02:00
whiteheat.h USB: serial: Use the correct style for SPDX License Identifier 2020-04-22 09:26:47 +02:00
wishbone-serial.c
xr_serial.c USB: serial: xr: claim both interfaces 2021-04-01 10:04:21 +02:00
xsens_mt.c