[GIT PULL] TTY/Serial driver updates for 5.19-rc1
From: Greg KH
Date: Fri Jun 03 2022 - 06:23:00 EST
The following changes since commit 42226c989789d8da4af1de0c31070c96726d990c:
Linux 5.18-rc7 (2022-05-15 18:08:58 -0700)
are available in the Git repository at:
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty.git tags/tty-5.19-rc1
for you to fetch changes up to 25e02ba60f0fbe65ba07553b5b2b8867726273c4:
tty: Rework receive flow control char logic (2022-05-19 18:33:34 +0200)
----------------------------------------------------------------
TTY / Serial driver changes for 5.19-rc1
Here is the big set of tty and serial driver updates for 5.19-rc1.
Lots of tiny cleanups in here, the major stuff is:
- termbit cleanups and unification by Ilpo. A much needed
change that goes a long way to making things simpler for all
of the different arches
- tty documentation cleanups and movements to their own place in
the documentation tree
- old tty driver cleanups and fixes from Jiri to bring some
existing drivers into the modern world
- RS485 cleanups and unifications to make it easier for
individual drivers to support this mode instead of having to
duplicate logic in each driver
- Lots of 8250 driver updates and additions
- new device id additions
- n_gsm continued fixes and cleanups
- other minor serial driver updates and cleanups
All of these have been in linux-next for weeks with no reported issues.
Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>
----------------------------------------------------------------
Al Cooper (1):
serial: When UART is suspended, set RTS to false
Andy Shevchenko (3):
serial: 8250_dw: Update the list of OF headers used by driver
serial: 8250_dw: Use devm_add_action_or_reset()
serial: 8250_dw: Use dev_err_probe()
AngeloGioacchino Del Regno (1):
Revert "serial: 8250_mtk: Make sure to select the right FEATURE_SEL"
Changbin Du (1):
sysrq: do not omit current cpu when showing backtrace of all active CPUs
Christophe Leroy (2):
tty: hvc: Prepare cleanup of powerpc's asm/prom.h
tty: serial: Prepare cleanup of powerpc's asm/prom.h
Daniel Gibson (1):
tty: n_tty: Restore EOF push handling behavior
Daniel Starke (2):
tty: n_gsm: clean up dead code in gsm_queue()
tty: n_gsm: clean up implicit CR bit encoding in address field
Duoming Zhou (1):
drivers: tty: serial: Fix deadlock in sa1100_set_termios()
Emil Renner Berthing (1):
serial: 8250: dw: Create a generic platform data structure
Eric Tremblay (3):
serial: 8250: Handle UART without interrupt on TEMT using em485
serial: 8250: Add UART_CAP_NOTEMT on PORT_16550A_FSL64
serial: 8250: add compatible for fsl,16550-FIFO64
Geert Uytterhoeven (4):
dt-bindings: serial: renesas,hscif: R-Car V3U is R-Car Gen4
dt-bindings: serial: renesas,scif: R-Car V3U is R-Car Gen4
serial: 8250: core: Remove unneeded <linux/pm_runtime.h>
serial: 8250: pxa: Remove unneeded <linux/pm_runtime.h>
Greg Kroah-Hartman (2):
Merge 5.18-rc5 into tty-next
Merge 5.18-rc7 into usb-next
Hector Martin (1):
tty: serial: samsung_tty: Fix suspend/resume on S5L
Heikki Krogerus (1):
serial: 8250: dw: Fix NULL pointer dereference
Huang Guobin (1):
tty: Fix a possible resource leak in icom_probe
Ilpo Järvinen (30):
Revert "serial: 8250: Handle UART without interrupt on TEMT using em485"
tty: Add function for handling flow control chars
serial: Store character timing information to uart_port
serial: 8250: use THRE & __stop_tx also with DMA
serial: 8250: Handle UART without interrupt on TEMT
serial: 8250_dwlib: RS485 HW half & full duplex support
serial: 8250_dwlib: Implement SW half duplex support
dt_bindings: rs485: Add receiver enable polarity
ACPI / property: Document RS485 _DSD properties
serial: men_z135_uart: Drop duplicated iotype assignment
termbits: Convert octal defines to hex
termbits.h: create termbits-common.h for identical bits
termbits.h: Align lines & format
termbits.h: Remove posix_types.h include
tty: remove CMSPAR ifdefs
tty: remove BOTHER ifdefs
tty: remove IBSHIFT ifdefs
serial: fsl_lpuart: Remove unnecessary clearing for CRTSCTS
serial: jsm: Use B0 instead of 0
serial: 8250_fintek: Check SER_RS485_RTS_* only with RS485
serial: uartlite: Fix BRKINT clearing
serial: digicolor-usart: Don't allow CS5-6
serial: rda-uart: Don't allow CS5-6
serial: txx9: Don't allow CS5-6
serial: sh-sci: Don't allow CS5-6
serial: sifive: Sanitize CSIZE and c_iflag
serial: st-asc: Sanitize CSIZE and correct PARENB for CS7
serial: stm32-usart: Correct CSIZE, bits, and parity
pcmcia: synclink_cs: Don't allow CS5-6
tty: Rework receive flow control char logic
Jaewon Kim (1):
tty: serial: samsung: add spin_lock for interrupt and console_write
Jiri Slaby (49):
Documentation: move tty to driver-api
Documentation: tty: introduce "Other Documentation"
Documentation: tty: move n_gsm to tty
Documentation: tty: move moxa-smartio.rst to tty
Documentation: tty: n_gsm, delete "Additional Documentation"
Documentation: tty: n_gsm, use power of ReST
tty: serial: mpc52xx_uart: remove double ifdeffery
tty: serial: owl-uart, send x_char even if stopped
tty: serial: altera: use altera_jtaguart_stop_tx()
Documentation: fix tty link
serial: icom: remove ICOM_VERSION_STR macro
serial: icom: switch vague casts to container_of
serial: icom: remove to_icom_adapter() and icom_kref_release()
serial: icom: use proper __le types and functions
serial: icom: move header content to .c
serial: icom: use ARRAY_SIZE
serial: icom: make icom_acfg_baud const and unsigned
serial: icom: use list_for_each_entry()
serial: icom: delete empty serial hooks
serial: icom: remove unused struct icom_port members
serial: xilinx_uartps: return early in cdns_uart_handle_tx()
serial: xilinx_uartps: cache xmit in cdns_uart_handle_tx()
serial: zs: use NULL as a pointer, not 0
serial: qcom: use check for empty instead of pending
serial: pic32: make SERIAL_PIC32_CONSOLE depend on SERIAL_PIC32=y
serial: allow COMPILE_TEST for some drivers
serial: pic32: remove unused items from the header
serial: pic32: move header content to .c
serial: pic32: remove constants from struct pic32_sport
serial: pic32: simplify clk handling
serial: pic32: simplify pic32_sport::enable_tx_irq handling
serial: pic32: remove pic32_get_port() macro
serial: pic32: convert to_pic32_sport() to an inline
serial: pic32: don't assign pic32_sport::cts_gpio twice
serial: pic32: don't zero members of kzalloc-ated structure
serial: pic32: free up irq names correctly
serial: pic32: restore disabled irqs in pic32_uart_startup()
serial: pch: move size check from pop_tx one level up
serial: pch: don't overwrite xmit->buf[0] by x_char
serial: pch: decomission pch_uart_hal_write()
serial: pch: remove debug print from pop_tx
serial: pch: remove xmit circ_buf size double check
serial: pch: simplify pop_tx() even more
serial: pch: inline pop_tx() into handle_tx()
serial: amba-pl011: move header content to .c
serial: pmac_zilog: remove unfinished DBDMA support
serial: pmac_zilog: remove unused uart_pmac_port::termios_cache
serial: pmac_zilog: remove tracing prints
serial: pmac_zilog: remove initial print
John Ogness (2):
serial: meson: acquire port->lock in startup()
serial: msm_serial: disable interrupts in __msm_console_write()
Junwen Wu (1):
tty/sysrq: change the definition of sysrq_key_table's element to make it more readable
Kuldeep Singh (1):
dt-bindings: serial: Update Qualcomm geni based QUP UART bindings
Kunihiko Hayashi (2):
dt-bindings: serial: uniphier: Use maxItems for a single clock
dt-bindings: serial: uniphier: Add "resets" property as optional
Lino Sanfilippo (9):
serial: core: move RS485 configuration tasks from drivers into core
serial: amba-pl011: remove redundant code in rs485_config
serial: stm32: remove redundant code in rs485_config
serial: sc16is7xx: remove redundant check in rs485_config
serial: omap: remove redundant code in rs485_config
serial: max310: remove redundant memset in rs485_config
serial: imx: remove redundant assignment in rs485_config
serial: fsl_lpuart: remove redundant code in rs485_config functions
serial: atmel: remove redundant assignment in rs485_config
Maciej W. Rozycki (9):
serial: 8250: Report which option to enable for blacklisted PCI devices
serial: 8250: Fold EndRun device support into OxSemi Tornado code
serial: 8250: Export ICR access helpers for internal use
serial: 8250: Add proper clock handling for OxSemi PCIe devices
serial: sifive: Report actual baud base rather than fixed 115200
serial: sifive: Remove duplicate `clkin_rate' setting
Documentation: Move Oxford Semiconductor PCIe (Tornado) 950 to misc-devices
Documentation: Reformat Oxford Semiconductor PCIe (Tornado) 950
Documentation: Wire Oxford Semiconductor PCIe (Tornado) 950
Marek Vasut (2):
serial: stm32: Factor out GPIO RTS toggling into separate function
serial: stm32: Use TC interrupt to deassert GPIO RTS in RS485 mode
Miaoqian Lin (2):
tty: serial: owl: Fix missing clk_disable_unprepare() in owl_uart_probe
serial: 8250_aspeed_vuart: Fix potential NULL dereference in aspeed_vuart_probe
Miquel Raynal (5):
serial: 8250: dw: Move the USR register to pdata
serial: 8250: dw: Allow to use a fallback CPR value if not synthesized
serial: 8250: dma: Allow driver operations before starting DMA transfers
serial: 8250: dw: Introduce an rx_timeout variable in the IRQ path
serial: 8250: dw: Move the IO accessors to 8250_dwlib.h
Peng Fan (1):
dt-bindings: serial: fsl-lpuart: Add imx93 compatible string
Phil Edworthy (6):
dt-bindings: serial: renesas,em-uart: Document r9a09g011 bindings
serial: 8250: Make SERIAL_8250_EM available for arm64 systems
serial: 8250: dw: Move definitions to the shared header
serial: 8250: dw: Add support for DMA flow controlling devices
serial: 8250: dw: Improve RZN1 support
dt-bindings: serial: renesas,em-uart: Add RZ/V2M clock to access the registers
Randy Dunlap (1):
MAINTAINERS: fix location of moxa-smartio.rst
Shanker Donthineni (1):
tty: hvc: dcc: Bind driver to CPU core0 for reads and writes
Sherry Sun (2):
tty: serial: fsl_lpuart: fix potential bug when using both of_alias_get_id and ida_simple_get
tty: serial: fsl_lpuart: remove the count initialization as it is not needed
Tom Rix (1):
serial: sunplus-uart: change sunplus_console_ports from global to static
Tomasz Moń (1):
serial: core: fix tcdrain() with CTS enabled
Tony Lindgren (1):
tty: n_gsm: Fix packet data hex dump output
Valentin Caron (3):
serial: stm32: remove infinite loop possibility in putchar function
serial: stm32: add KGDB support
serial: stm32: add earlycon support
Vijaya Krishna Nivarthi (2):
tty: serial: qcom-geni-serial: Remove uart frequency table. Instead, find suitable frequency with call to clk_round_rate.
serial: core: Do stop_rx in suspend path for console if console_suspend is disabled
Vincent Whitchurch (1):
char: ttyprintk: register console
Wan Jiabing (2):
tty/hvc_opal: simplify if-if to if-else
tty: hvcs: simplify if-if to if-else
Wander Lairson Costa (1):
serial/8250: Use fifo in 8250 console driver
Wang Weiyang (1):
tty: goldfish: Use tty_port_destroy() to destroy port
Yoshihiro Shimoda (1):
dt-bindings: serial: renesas,hscif: Document r8a779g0 bindings
Yu Tu (3):
tty: serial: meson: Use DIV_ROUND_CLOSEST to calculate baud rates
tty: serial: meson: Add a 12MHz internal clock rate to calculate baud rate in order to meet the baud rate requirements of special BT modules
tty: serial: meson: Added S4 SOC compatibility
YueHaibing (1):
serial: cpm_uart: Fix build error without CONFIG_SERIAL_CPM_CONSOLE
Zheyu Ma (1):
tty: synclink_gt: Fix null-pointer-dereference in slgt_clean()
.../devicetree/bindings/serial/fsl-lpuart.yaml | 4 +-
.../bindings/serial/qcom,serial-geni-qcom.yaml | 86 ++++
.../bindings/serial/renesas,em-uart.yaml | 37 +-
.../devicetree/bindings/serial/renesas,hscif.yaml | 9 +-
.../devicetree/bindings/serial/renesas,scif.yaml | 2 +-
.../devicetree/bindings/serial/rs485.yaml | 5 +
.../bindings/serial/socionext,uniphier-uart.yaml | 5 +-
Documentation/driver-api/index.rst | 1 +
Documentation/driver-api/serial/driver.rst | 2 +-
Documentation/driver-api/serial/index.rst | 2 -
Documentation/driver-api/serial/n_gsm.rst | 159 ------
Documentation/{ => driver-api}/tty/index.rst | 22 +-
.../driver-api/{serial => tty}/moxa-smartio.rst | 0
Documentation/driver-api/tty/n_gsm.rst | 153 ++++++
Documentation/{ => driver-api}/tty/n_tty.rst | 0
Documentation/{ => driver-api}/tty/tty_buffer.rst | 0
Documentation/{ => driver-api}/tty/tty_driver.rst | 0
.../{ => driver-api}/tty/tty_internals.rst | 0
Documentation/{ => driver-api}/tty/tty_ldisc.rst | 0
Documentation/{ => driver-api}/tty/tty_port.rst | 0
Documentation/{ => driver-api}/tty/tty_struct.rst | 0
Documentation/firmware-guide/acpi/enumeration.rst | 25 +
Documentation/index.rst | 1 -
Documentation/misc-devices/index.rst | 1 +
Documentation/misc-devices/oxsemi-tornado.rst | 131 +++++
MAINTAINERS | 2 +-
arch/alpha/include/uapi/asm/termbits.h | 214 +++-----
arch/mips/include/uapi/asm/termbits.h | 249 ++++------
arch/parisc/include/uapi/asm/termbits.h | 241 ++++-----
arch/powerpc/include/uapi/asm/termbits.h | 182 +++----
arch/sparc/include/uapi/asm/termbits.h | 223 ++++-----
drivers/char/Kconfig | 3 +-
drivers/char/pcmcia/synclink_cs.c | 8 +-
drivers/char/ttyprintk.c | 16 +
drivers/tty/amiserial.c | 2 -
drivers/tty/goldfish.c | 2 +
drivers/tty/hvc/Kconfig | 19 +
drivers/tty/hvc/hvc_dcc.c | 194 +++++++-
drivers/tty/hvc/hvc_opal.c | 6 +-
drivers/tty/hvc/hvc_vio.c | 2 +-
drivers/tty/hvc/hvcs.c | 5 +-
drivers/tty/hvc/hvsi.c | 2 +-
drivers/tty/mxser.c | 5 +-
drivers/tty/n_gsm.c | 37 +-
drivers/tty/n_tty.c | 73 ++-
drivers/tty/serial/8250/8250.h | 41 ++
drivers/tty/serial/8250/8250_aspeed_vuart.c | 2 +
drivers/tty/serial/8250/8250_core.c | 1 -
drivers/tty/serial/8250/8250_dma.c | 7 +-
drivers/tty/serial/8250/8250_dw.c | 229 ++++++---
drivers/tty/serial/8250/8250_dwlib.c | 116 ++++-
drivers/tty/serial/8250/8250_dwlib.h | 51 ++
drivers/tty/serial/8250/8250_fintek.c | 8 +-
drivers/tty/serial/8250/8250_mtk.c | 7 -
drivers/tty/serial/8250/8250_of.c | 2 +
drivers/tty/serial/8250/8250_pci.c | 480 ++++++++++++------
drivers/tty/serial/8250/8250_port.c | 140 ++++--
drivers/tty/serial/8250/8250_pxa.c | 1 -
drivers/tty/serial/8250/Kconfig | 2 +-
drivers/tty/serial/Kconfig | 9 +-
drivers/tty/serial/altera_jtaguart.c | 6 +-
drivers/tty/serial/amba-pl011.c | 48 +-
drivers/tty/serial/amba-pl011.h | 35 --
drivers/tty/serial/atmel_serial.c | 4 +-
drivers/tty/serial/cpm_uart/cpm_uart.h | 2 +
drivers/tty/serial/cpm_uart/cpm_uart_core.c | 2 +-
drivers/tty/serial/cpm_uart/cpm_uart_cpm2.c | 1 -
drivers/tty/serial/digicolor-usart.c | 2 +
drivers/tty/serial/fsl_lpuart.c | 66 +--
drivers/tty/serial/icom.c | 538 +++++++++++++++------
drivers/tty/serial/icom.h | 274 -----------
drivers/tty/serial/imx.c | 2 -
drivers/tty/serial/jsm/jsm_cls.c | 8 +-
drivers/tty/serial/jsm/jsm_neo.c | 8 +-
drivers/tty/serial/max310x.c | 1 -
drivers/tty/serial/men_z135_uart.c | 1 -
drivers/tty/serial/meson_uart.c | 40 +-
drivers/tty/serial/mpc52xx_uart.c | 5 +-
drivers/tty/serial/msm_serial.c | 5 +
drivers/tty/serial/omap-serial.c | 13 +-
drivers/tty/serial/owl-uart.c | 7 +-
drivers/tty/serial/pch_uart.c | 77 +--
drivers/tty/serial/pic32_uart.c | 159 ++++--
drivers/tty/serial/pic32_uart.h | 125 -----
drivers/tty/serial/pmac_zilog.c | 69 +--
drivers/tty/serial/pmac_zilog.h | 11 -
drivers/tty/serial/qcom_geni_serial.c | 58 ++-
drivers/tty/serial/rda-uart.c | 2 +
drivers/tty/serial/sa1100.c | 4 +-
drivers/tty/serial/samsung_tty.c | 13 +
drivers/tty/serial/sc16is7xx.c | 10 -
drivers/tty/serial/serial_core.c | 89 +++-
drivers/tty/serial/serial_txx9.c | 2 +
drivers/tty/serial/sh-sci.c | 6 +-
drivers/tty/serial/sifive.c | 20 +-
drivers/tty/serial/st-asc.c | 4 +
drivers/tty/serial/stm32-usart.c | 225 +++++++--
drivers/tty/serial/stm32-usart.h | 3 +
drivers/tty/serial/sunplus-uart.c | 2 +-
drivers/tty/serial/sunsu.c | 2 -
drivers/tty/serial/uartlite.c | 3 +-
drivers/tty/serial/xilinx_uartps.c | 46 +-
drivers/tty/serial/zs.c | 2 +-
drivers/tty/synclink_gt.c | 2 +
drivers/tty/sysrq.c | 27 +-
drivers/tty/tty_baudrate.c | 35 +-
drivers/tty/tty_ioctl.c | 2 -
drivers/usb/class/cdc-acm.h | 8 -
drivers/usb/serial/ark3116.c | 3 +-
drivers/usb/serial/whiteheat.c | 4 -
include/linux/serial_core.h | 1 +
include/linux/serial_s3c.h | 3 +
include/uapi/asm-generic/termbits-common.h | 65 +++
include/uapi/asm-generic/termbits.h | 239 ++++-----
114 files changed, 3164 insertions(+), 2451 deletions(-)
create mode 100644 Documentation/devicetree/bindings/serial/qcom,serial-geni-qcom.yaml
delete mode 100644 Documentation/driver-api/serial/n_gsm.rst
rename Documentation/{ => driver-api}/tty/index.rst (81%)
rename Documentation/driver-api/{serial => tty}/moxa-smartio.rst (100%)
create mode 100644 Documentation/driver-api/tty/n_gsm.rst
rename Documentation/{ => driver-api}/tty/n_tty.rst (100%)
rename Documentation/{ => driver-api}/tty/tty_buffer.rst (100%)
rename Documentation/{ => driver-api}/tty/tty_driver.rst (100%)
rename Documentation/{ => driver-api}/tty/tty_internals.rst (100%)
rename Documentation/{ => driver-api}/tty/tty_ldisc.rst (100%)
rename Documentation/{ => driver-api}/tty/tty_port.rst (100%)
rename Documentation/{ => driver-api}/tty/tty_struct.rst (100%)
create mode 100644 Documentation/misc-devices/oxsemi-tornado.rst
delete mode 100644 drivers/tty/serial/amba-pl011.h
delete mode 100644 drivers/tty/serial/icom.h
delete mode 100644 drivers/tty/serial/pic32_uart.h
create mode 100644 include/uapi/asm-generic/termbits-common.h