The following changes since commit 09a9639e56c01c7a00d6c0ca63f4c7c41abe075d: Linux 6.3-rc6 (2023-04-09 11:15:57 -0700) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty.git tags/tty-6.4-rc1 for you to fetch changes up to 2b3174c96696cde676393474f0e01d0d108462f5: n_gsm: Use array_index_nospec() with index that comes from userspace (2023-04-20 14:11:33 +0200) ---------------------------------------------------------------- TTY/Serial changes for 6.4-rc1 Here is the big set of tty/serial driver updates for 6.4-rc1. Nothing major, just lots of tiny, constant, forward development. This includes: - obligatory n_gsm updates and feature additions - 8250_em driver updates - sh-sci driver updates - dts cleanups and updates - general cleanups and improvements by Ilpo and Jiri - other small serial driver core fixes and driver updates All of these have been in linux-next for a while with no reported problems. Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> ---------------------------------------------------------------- Arend van Spriel (1): serial: bcm63xx-uart: add polling support Bernhard Rosenkränzer (1): dt-bindings: serial: mediatek,uart: add MT8365 Biju Das (13): serial: 8250_em: Fix UART port type serial: 8250_em: Simplify probe() serial: 8250_em: Drop unused header file serial: 8250_em: Add missing break statement serial: 8250_em: Use devm_clk_get_enabled() serial: 8250_em: Use pseudo offset for UART_FCR serial: 8250_em: Add serial8250_em_{reg_update(),out_helper()} tty: serial: sh-sci: Remove setting {src,dst}_{addr,addr_width} based on DMA direction tty: serial: sh-sci: Add RZ/G2L SCIFA DMA tx support tty: serial: sh-sci: Add RZ/G2L SCIFA DMA rx support tty: serial: sh-sci: Fix TE setting on SCI IP tty: serial: sh-sci: Add support for tx end interrupt handling tty: serial: sh-sci: Fix end of transmission on SCI Christophe JAILLET (1): serial: 8250: Reorder fields in 'struct plat_serial8250_port' Conor Dooley (1): serial: make SiFive serial drivers depend on ARCH_ symbols Cristian Ciocaltea (6): dt-bindings: serial: snps-dw-apb-uart: Switch dma-names order ARM: dts: sun6i: a31: Switch dma-names order for snps,dw-apb-uart nodes ARM: dts: sun8i: a23/a33: Switch dma-names order for snps,dw-apb-uart nodes ARM: dts: sun8i: v3s: Switch dma-names order for snps,dw-apb-uart nodes ARM: dts: sunxi: h3/h5: Switch dma-names order for snps,dw-apb-uart nodes riscv: dts: allwinner: d1: Switch dma-names order for snps,dw-apb-uart nodes Daniel Starke (4): tty: n_gsm: add ioctl for DLC specific parameter configuration tty: n_gsm: allow window size configuration tty: n_gsm: add ioctl for DLC config via ldisc handle tty: n_gsm: fix redundant assignment of gsm->encoding Doug Berger (1): serial: 8250_bcm7271: Fix arbitration handling Douglas Anderson (2): serial: uart_poll_init() should power on the UART tty: serial: qcom-geni-serial: Add a poll_init() function Florian Fainelli (1): serial: 8250: Add missing wakeup event reporting Greg Kroah-Hartman (2): Merge 6.3-rc3 into tty-next Merge 6.3-rc6 into tty-next Hanno Böck (1): tty: Fix typo in LEGACY_TIOCSTI Kconfig description Ilpo Järvinen (21): serial: Use ARRAY_SIZE() with iso7816 reserved array serial: Use B0 instead of implicit zero assumption serial: Remove extern from func prototypes in headers serial: Move uart_change_speed() earlier serial: Rename uart_change_speed() to uart_change_line_settings() serial: Make hw_stopped bool serial: Rename hw_stopped to old_hw_stopped & improve logic serial: Remove uart_wait_until_sent() forward declaration n_tty: Convert no_space_left to space_left boolean tty_ioctl: Use BIT() for internal flags Bluetooth: hci_ldisc: Fix tty_set_termios() return value assumptions n_tty: Sort includes alphabetically n_tty: Use DIV_ROUND_UP() in room calculation n_tty: Cleanup includes n_tty: Reindent if condition tty: Convert hw_stopped in tty_struct to bool serial: ucc_uart: Use uart_circ_empty() serial: cpm_uart: Use uart_circ_empty() tty: Prevent writing chars during tcsetattr TCSADRAIN/FLUSH serial: 8250: Fix serial8250_tx_empty() race with DMA Tx n_gsm: Use array_index_nospec() with index that comes from userspace Jan Kundrát (1): serial: max310x: fix IO data corruption in batched operations Jiri Slaby (SUSE) (6): tty: serial: simplify qcom_geni_serial_send_chunk_fifo() tty: synclink_gt: don't allocate and pass dummy flags tty: vt: reformat tioclinux() tty: vt: simplify some cases in tioclinux() tty: vt: distribute EXPORT_SYMBOL() tty: vt: drop checks for undefined VT_SINGLE_DRIVER Johan Hovold (1): serial: fix TIOCSRS485 locking Krzysztof Kozlowski (3): serial: sh-sci: mark OF related data as maybe unused serial: sprd: Drop of_match_ptr for ID table dt-bindings: serial: snps-dw-apb-uart: correct number of DMAs Li zeming (1): tty: tty_ldisc: Remove the ret variable Luis Chamberlain (1): tty: simplify sysctl registration Lukas Bulwahn (2): tty: serial: remove obsolete config SERIAL_SAMSUNG_UARTS_4 serial: sb1250-duart: clean up after SIBYTE_BCM1x55 removal Marek Vasut (4): dt-bindings: serial: imx: Document optional DMA properties dt-bindings: serial: imx: Document mandatory clock properties serial: stm32: Remove unused struct stm32_port txdone element serial: stm32: Re-assert RTS/DE GPIO in RS485 mode only if more data are transmitted Martin Blumenstingl (3): dt-bindings: serial: amlogic,meson-uart: Add compatible string for G12A tty: serial: meson: Add a new compatible string for the G12A SoC arm64: dts: meson-g12-common: Use the G12A UART compatible string Peng Fan (1): dt-bindings: serial: fsl-lpuart: add optional power-domains property Petr Mladek (1): Documentation/serial-console: Document the behavior when the last console= parameter is not used Randy Dunlap (1): linux/vt_buffer.h: allow either builtin or modular for macros Rob Herring (3): serial: Use of_property_present() for testing DT property presence serial: Use of_property_read_bool() for boolean properties dt-bindings: serial: Drop unneeded quotes Shenwei Wang (1): tty: serial: fsl_lpuart: adjust buffer length to the intended size Sherry Sun (1): tty: serial: fsl_lpuart: use UARTMODIR register bits for lpuart32 platform Tom Rix (1): serial: imx: remove unused imx_uart_is_imx* functions Tony Lindgren (2): serial: 8250: Reinit port->pm on port specific driver unbind serial: core: Disable uart_start() on uart_remove_one_port() Uwe Kleine-König (1): serial: imx: Drop a few unneeded casts Documentation/admin-guide/serial-console.rst | 36 +++- .../bindings/serial/amlogic,meson-uart.yaml | 13 +- .../devicetree/bindings/serial/fsl-imx-uart.yaml | 27 +++ .../devicetree/bindings/serial/fsl-lpuart.yaml | 3 + .../devicetree/bindings/serial/mediatek,uart.yaml | 1 + .../bindings/serial/qcom,serial-geni-qcom.yaml | 4 +- .../bindings/serial/renesas,em-uart.yaml | 4 +- .../devicetree/bindings/serial/renesas,hscif.yaml | 4 +- .../devicetree/bindings/serial/renesas,sci.yaml | 4 +- .../devicetree/bindings/serial/renesas,scif.yaml | 4 +- .../devicetree/bindings/serial/renesas,scifa.yaml | 4 +- .../devicetree/bindings/serial/renesas,scifb.yaml | 4 +- .../devicetree/bindings/serial/serial.yaml | 4 +- .../bindings/serial/snps-dw-apb-uart.yaml | 4 +- .../devicetree/bindings/serial/sprd-uart.yaml | 4 +- .../bindings/serial/sunplus,sp7021-uart.yaml | 4 +- Documentation/driver-api/tty/n_gsm.rst | 20 ++ arch/arm/boot/dts/sun6i-a31.dtsi | 12 +- arch/arm/boot/dts/sun8i-a23-a33.dtsi | 10 +- arch/arm/boot/dts/sun8i-v3s.dtsi | 6 +- arch/arm/boot/dts/sunxi-h3-h5.dtsi | 8 +- arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi | 15 +- arch/riscv/boot/dts/allwinner/sunxi-d1s-t113.dtsi | 12 +- drivers/bluetooth/hci_ldisc.c | 8 +- drivers/char/pcmcia/synclink_cs.c | 6 +- drivers/mmc/core/sdio_uart.c | 10 +- drivers/tty/Kconfig | 2 +- drivers/tty/amiserial.c | 6 +- drivers/tty/mxser.c | 6 +- drivers/tty/n_gsm.c | 231 ++++++++++++++++++++- drivers/tty/n_tty.c | 43 ++-- drivers/tty/serial/8250/8250.h | 12 ++ drivers/tty/serial/8250/8250_bcm7271.c | 18 +- drivers/tty/serial/8250/8250_core.c | 1 + drivers/tty/serial/8250/8250_em.c | 113 ++++++++-- drivers/tty/serial/8250/8250_port.c | 11 +- drivers/tty/serial/Kconfig | 11 +- drivers/tty/serial/bcm63xx_uart.c | 38 ++++ drivers/tty/serial/cpm_uart/cpm_uart_core.c | 5 +- drivers/tty/serial/fsl_lpuart.c | 10 +- drivers/tty/serial/imx.c | 48 ++--- drivers/tty/serial/max310x.c | 17 +- drivers/tty/serial/meson_uart.c | 8 +- drivers/tty/serial/mxs-auart.c | 4 +- drivers/tty/serial/qcom_geni_serial.c | 11 +- drivers/tty/serial/sb1250-duart.c | 2 +- drivers/tty/serial/serial_core.c | 125 +++++------ drivers/tty/serial/sh-sci.c | 115 +++++++--- drivers/tty/serial/sh-sci.h | 3 + drivers/tty/serial/sprd_serial.c | 2 +- drivers/tty/serial/stm32-usart.c | 6 +- drivers/tty/serial/stm32-usart.h | 1 - drivers/tty/serial/sunzilog.c | 4 +- drivers/tty/serial/ucc_uart.c | 7 +- drivers/tty/synclink_gt.c | 24 +-- drivers/tty/tty.h | 2 + drivers/tty/tty_io.c | 24 +-- drivers/tty/tty_ioctl.c | 54 +++-- drivers/tty/tty_ldisc.c | 3 +- drivers/tty/vt/vt.c | 205 ++++++++---------- include/linux/serial_8250.h | 45 ++-- include/linux/serial_core.h | 15 +- include/linux/tty.h | 2 +- include/linux/vt_buffer.h | 2 +- include/uapi/linux/gsmmux.h | 17 +- 65 files changed, 979 insertions(+), 505 deletions(-)