The following changes since commit 36a21d51725af2ce0700c6ebcb6b9594aac658a6: Linux 5.14-rc5 (2021-08-08 13:49:31 -0700) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty.git tags/tty-5.15-rc1 for you to fetch changes up to 2e5f3a69b6fcd52a64ce3d746c6ee8390b6cabe8: tty: serial: uartlite: Use read_poll_timeout for a polling loop (2021-08-27 16:34:32 +0200) ---------------------------------------------------------------- TTY / Serial patches for 5.15-rc1 Here is the "big" set of tty/serial driver patches for 5.15-rc1 Nothing major in here at all, just some driver updates and more cleanups on old tty apis and code that needed it that includes: - tty.h cleanup of things that didn't belong in it - other tty cleanups by Jiri - driver cleanups - rs485 support added to amba-pl011 driver - dts updates - stm32 serial driver updates - other minor fixes and driver updates All have been in linux-next for a while with no reported problems. Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> ---------------------------------------------------------------- Andy Duan (1): tty: serial: fsl_lpuart: fix the wrong mapbase value Andy Shevchenko (5): serial: 8250_exar: Add ->unregister_gpio() callback serial: 8250_lpss: Enable DMA on Intel Elkhart Lake serial: max310x: Use clock-names property matching to recognize EXTCLK serdev: Split and export serdev_acpi_get_uart_resource() platform/surface: aggregator: Use serdev_acpi_get_uart_resource() helper Bing Fan (1): arm pl011 serial: support multi-irq request Changbin Du (1): tty: replace in_irq() with in_hardirq() Colin Ian King (3): serial: 8250: 8250_omap: make a const array static, makes object smaller serial: 8250_bcm7271: use NULL to initialized a null pointer tty: serial: Fix spelling mistake "Asychronous" -> "Asynchronous" Dan Carpenter (2): tty: moxa: use semi-colons instead of commas mxser: use semi-colons instead of commas Fugang Duan (3): tty: serial: fsl_lpuart: check dma_tx_in_progress in tx dma callback tty: serial: fsl_lpuart: enable two stop bits for lpuart32 tty: serial: fsl_lpuart: do software reset for imx7ulp and imx8qxp Greg Kroah-Hartman (6): serial: 8250_pci: make setup_port() parameters explicitly unsigned vt: keyboard: treat kbd_table as an array all the time. vt: keyboard.c: make console an unsigned int Revert "cx20442: tty_ldisc_ops::write_wakeup is optional" Revert "v253_init: eliminate pointer to string" Merge 5.14-rc5 into tty-next Igor Matheus Andrade Torrente (1): tty: Fix out-of-bound vmalloc access in imageblit Jianmin Lv (1): serial: 8250_pnp: Support configurable clock frequency Jiri Slaby (29): amiserial: remove unused DBG_CNT amiserial: remove serial_* strings amiserial: remove stale comment amiserial: remove serial_state::xmit_fifo_size amiserial: simplify rs_open amiserial: use memset to zero serial_state amiserial: expand serial_isroot amiserial: expand "custom" amiserial: pack and sort includes amiserial: switch rs_table to a single state amiserial: remove unused state from shutdown cx20442: tty_ldisc_ops::write_wakeup is optional v253_init: eliminate pointer to string tty: move tty_driver related prototypes to tty_driver.h tty: include kref.h in tty_driver.h tty: move ldisc prototypes to tty_ldisc.h tty: include list & lockdep from tty_ldisc.h tty: move tty_ldisc_receive_buf to tty_flip.h tty: move tty_buffer definitions to new tty_buffer.h tty: move tty_port to new tty_port.h tty: tty_flip.h needs only tty_buffer and tty_port xtensa: ISS: don't panic in rs_init hvsi: don't panic on tty_register_driver failure tty: don't store semi-state into tty drivers tty: stop using alloc_tty_driver tty: drop alloc_tty_driver tty: make tty_set_operations an inline tty: drop put_tty_driver tty: pdc_cons, free tty_driver upon failure Johan Hovold (1): serial: 8250: extend compile-test coverage Juergen Gross (1): tty: hvc: replace BUG_ON() with negative return value Lino Sanfilippo (1): serial: amba-pl011: add RS485 support Linus Walleij (1): dt-bindings: serial: 8250: Add Exar compatibles Maciej W. Rozycki (2): serial: core: Report magic multiplier extra baud rates serial: 8250: Define RX trigger levels for OxSemi 950 devices Nguyen Dinh Phi (1): tty: Fix data race between tiocsti() and flush_to_ldisc() Nobuhiro Iwamatsu (1): dt-bindings: serial: convert Cadence UART bindings to YAML Qian Cai (1): Revert "arm pl011 serial: support multi-irq request" Sam Protsenko (3): tty: serial: samsung: Init USI to keep clocks running tty: serial: samsung: Fix driver data macros style tty: serial: samsung: Add Exynos850 SoC data Sam Shih (1): dt-bindings: serial: Add compatible for Mediatek MT7986 Sean Anderson (2): tty: serial: uartlite: Use constants in early_uartlite_putc tty: serial: uartlite: Use read_poll_timeout for a polling loop Shubhrajyoti Datta (2): tty: serial: uartlite: Disable clocks in case of errors tty: serial: uartlite: Add runtime pm support Tamseel Shams (1): serial: samsung: use dma_ops of DMA if attached Tang Bin (7): serial: stm32: fix the conditional expression writing serial: stm32: use the defined variable to simplify code serial: stm32: use devm_platform_get_and_ioremap_resource() tty: serial: linflexuart: Remove redundant check to simplify the code serial: 8250_ingenic: Use of_device_get_match_data serial: tegra: Use of_device_get_match_data serial: vt8500: Use of_device_get_match_data Tony Lindgren (4): serial: omap: Disable PM runtime autoidle to remove pm_runtime_irq_safe() serial: omap: Only allow if 8250_omap is not selected dt-bindings: serial: 8250: Update for standard overrun-throttle property serial: 8250_omap: Handle optional overrun-throttle-ms property Ulrich Hecht (1): serial: sh-sci: fix break handling for sysrq Zheyu Ma (1): tty: serial: jsm: hold port lock when reporting modem line changes Documentation/devicetree/bindings/serial/8250.yaml | 6 + .../devicetree/bindings/serial/8250_omap.yaml | 1 + .../devicetree/bindings/serial/cdns,uart.txt | 27 -- .../devicetree/bindings/serial/cdns,uart.yaml | 66 +++++ .../devicetree/bindings/serial/mtk-uart.txt | 1 + arch/alpha/kernel/srmcons.c | 8 +- arch/m68k/emu/nfcon.c | 30 +-- arch/parisc/kernel/pdc_cons.c | 34 +-- arch/um/drivers/line.c | 13 +- arch/xtensa/platforms/iss/console.c | 45 ++-- drivers/char/pcmcia/synclink_cs.c | 4 +- drivers/char/ttyprintk.c | 4 +- drivers/ipack/devices/ipoctal.c | 13 +- drivers/isdn/capi/capi.c | 14 +- drivers/misc/bcm-vk/bcm_vk_tty.c | 8 +- drivers/mmc/core/sdio_uart.c | 12 +- drivers/net/usb/hso.c | 12 +- drivers/platform/surface/aggregator/core.c | 9 +- drivers/s390/char/con3215.c | 11 +- drivers/s390/char/sclp_tty.c | 15 +- drivers/s390/char/sclp_vt220.c | 9 +- drivers/s390/char/tty3270.c | 4 +- drivers/staging/fwserial/fwserial.c | 8 +- drivers/staging/gdm724x/gdm_tty.c | 13 +- drivers/staging/greybus/uart.c | 4 +- drivers/tty/amiserial.c | 278 ++++++++------------- drivers/tty/ehv_bytechan.c | 34 +-- drivers/tty/goldfish.c | 18 +- drivers/tty/hvc/hvc_console.c | 10 +- drivers/tty/hvc/hvc_xen.c | 17 +- drivers/tty/hvc/hvcs.c | 12 +- drivers/tty/hvc/hvsi.c | 55 ++-- drivers/tty/ipwireless/tty.c | 12 +- drivers/tty/mips_ejtag_fdc.c | 2 +- drivers/tty/moxa.c | 12 +- drivers/tty/mxser.c | 24 +- drivers/tty/n_gsm.c | 13 +- drivers/tty/nozomi.c | 12 +- drivers/tty/serdev/core.c | 36 ++- drivers/tty/serial/8250/8250_bcm7271.c | 2 +- drivers/tty/serial/8250/8250_exar.c | 36 ++- drivers/tty/serial/8250/8250_ingenic.c | 6 +- drivers/tty/serial/8250/8250_lpss.c | 10 + drivers/tty/serial/8250/8250_omap.c | 27 +- drivers/tty/serial/8250/8250_pci.c | 2 +- drivers/tty/serial/8250/8250_pnp.c | 2 + drivers/tty/serial/8250/8250_port.c | 3 +- drivers/tty/serial/8250/Kconfig | 10 +- drivers/tty/serial/Kconfig | 4 +- drivers/tty/serial/amba-pl011.c | 163 +++++++++++- drivers/tty/serial/fsl_linflexuart.c | 6 +- drivers/tty/serial/fsl_lpuart.c | 62 ++++- drivers/tty/serial/jsm/jsm_neo.c | 2 + drivers/tty/serial/jsm/jsm_tty.c | 3 + drivers/tty/serial/kgdb_nmi.c | 11 +- drivers/tty/serial/max310x.c | 15 +- drivers/tty/serial/omap-serial.c | 75 +----- drivers/tty/serial/samsung_tty.c | 95 +++++-- drivers/tty/serial/serial-tegra.c | 6 +- drivers/tty/serial/serial_core.c | 20 +- drivers/tty/serial/sh-sci.c | 7 +- drivers/tty/serial/stm32-usart.c | 11 +- drivers/tty/serial/uartlite.c | 88 +++++-- drivers/tty/serial/vt8500_serial.c | 7 +- drivers/tty/synclink_gt.c | 12 +- drivers/tty/sysrq.c | 4 +- drivers/tty/tty_io.c | 17 +- drivers/tty/ttynull.c | 4 +- drivers/tty/vcc.c | 4 +- drivers/tty/vt/keyboard.c | 62 ++--- drivers/tty/vt/vt.c | 27 +- drivers/usb/class/cdc-acm.c | 14 +- drivers/usb/gadget/function/u_serial.c | 36 +-- drivers/usb/host/xhci-dbgtty.c | 4 +- drivers/usb/serial/usb-serial.c | 13 +- include/linux/serdev.h | 14 ++ include/linux/serial_s3c.h | 9 + include/linux/tty.h | 275 +------------------- include/linux/tty_buffer.h | 59 +++++ include/linux/tty_driver.h | 39 +-- include/linux/tty_flip.h | 8 +- include/linux/tty_ldisc.h | 17 ++ include/linux/tty_port.h | 208 +++++++++++++++ include/linux/vt_kern.h | 30 +-- include/uapi/linux/serial_reg.h | 1 + net/bluetooth/rfcomm/tty.c | 12 +- 86 files changed, 1411 insertions(+), 1037 deletions(-) delete mode 100644 Documentation/devicetree/bindings/serial/cdns,uart.txt create mode 100644 Documentation/devicetree/bindings/serial/cdns,uart.yaml create mode 100644 include/linux/tty_buffer.h create mode 100644 include/linux/tty_port.h