USB: serial: add generic support for TIOCSSERIAL
Johan Hovold authored
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...
01fd45f6
Name Last commit Last update
Documentation Merge tag 'irq-urgent-2021-03-14' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
LICENSES LICENSES: Add the CC-BY-4.0 license
arch Merge tag 'irq-urgent-2021-03-14' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
block block: Discard page cache of zone reset target range
certs certs: Replace K{U,G}IDT_INIT() with GLOBAL_ROOT_{U,G}ID
crypto crypto: mips/poly1305 - enable for all MIPS processors
drivers USB: serial: add generic support for TIOCSSERIAL
fs Merge branch 'akpm' (patches from Andrew)
include USB: serial: add generic support for TIOCSSERIAL
init Merge branch 'akpm' (patches from Andrew)
ipc fs: make helpers idmap mount aware
kernel prctl: fix PR_SET_MM_AUXV kernel stack leak
lib kasan: fix KASAN_STACK dependency for HW_TAGS
mm Merge branch 'akpm' (patches from Andrew)
net Merge tag 'nfs-for-5.12-2' of git://git.linux-nfs.org/projects/anna/linux-nfs
samples Merge git://git.kernel.org:/pub/scm/linux/kernel/git/netdev/net
scripts kbuild: fix ld-version.sh to not be affected by locale
security Revert 95ebabde ("capabilities: Don't allow writing ambiguous v3 file capabilities")
sound ALSA: hda/hdmi: Cancel pending works before suspend
tools Merge tag 'objtool-urgent-2021-03-14' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
usr Merge tag 'kbuild-v5.12' of git://git.kernel.org/pub/scm/linux/kernel/git/masahiroy/linux-kbuild
virt KVM: x86/mmu: Consider the hva in mmu_notifier retry
.clang-format Merge tag 'cxl-for-5.12' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm
.cocciconfig scripts: add Linux .cocciconfig for coccinelle
.get_maintainer.ignore Opt out of scripts/get_maintainer.pl
.gitattributes .gitattributes: use 'dts' diff driver for dts files
.gitignore Merge tag 'clang-lto-v5.12-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux
.mailmap treewide: Miguel has moved
COPYING COPYING: state that all contributions really are covered by this file
CREDITS treewide: Miguel has moved
Kbuild kbuild: rename hostprogs-y/always to hostprogs/always-y
Kconfig kbuild: ensure full rebuild when the compiler is updated
MAINTAINERS Merge branch 'akpm' (patches from Andrew)
Makefile Linux 5.12-rc3
README Drop all 00-INDEX files from Documentation/
Linux kernel
============

There are several guides for kernel developers and users. These guides can
be rendered in a number of formats, like HTML and PDF. Please read
Documentation/admin-guide/README.rst first.

In order to build the documentation, use ``make htmldocs`` or
``make pdfdocs``.  The formatted documentation can also be read online at:

    https://www.kernel.org/doc/html/latest/

There are various text files in the Documentation/ subdirectory,
several of them using the Restructured Text markup notation.

Please read the Documentation/process/changes.rst file, as it contains the
requirements for building and running the kernel, and information about
the problems which may result by upgrading your kernel.