The following changes since commit 58720809f52779dc0f08e53e54b014209d13eebb: Linux 6.6-rc6 (2023-10-15 13:34:39 -0700) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty.git tags/tty-6.7-rc1 for you to fetch changes up to 64ebf8797249e792af2143eb9e4bd404d10a022e: serdev: Replace custom code with device_match_acpi_handle() (2023-10-27 13:04:11 +0200) ---------------------------------------------------------------- TTY/Serial changes for 6.7-rc1 Here is the big set of tty/serial driver changes for 6.7-rc1. Included in here are: - console/vgacon cleanups and removals from Arnd - tty core and n_tty cleanups from Jiri - lots of 8250 driver updates and cleanups - sc16is7xx serial driver updates - dt binding updates - first set of port lock wrapers from Thomas for the printk fixes coming in future releases - other small serial and tty core cleanups and updates All of these have been in linux-next for a while with no reported issues. Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> ---------------------------------------------------------------- Alexey Dobriyan (1): serial: initialize retinfo in uart_get_info() André Draszik (3): tty: serial: samsung_tty: remove dead code tty: serial: samsung: drop earlycon support for unsupported platforms dt-bindings: serial: drop unsupported samsung bindings Andy Shevchenko (12): serial: 8250_port: Introduce UART_IIR_FIFO_ENABLED_16750 serial: 8250_aspeed_vuart: Use dev_err_probe() instead of dev_err() serial: 8250_of: Use dev_err_probe() instead of dev_warn() serial: 8250_bcm7271: Use dev_err_probe() instead of dev_err() serial: 8250_aspeed_vuart: Use devm_clk_get_enabled() serial: 8250_of: Use devm_clk_get_enabled() serial: 8250_dw: Use devm_clk_get_optional_enabled() serial: core: Simplify uart_get_rs485_mode() serial: 8250_bcm7271: Use devm_clk_get_optional_enabled() serdev: Make use of device_set_node() serdev: Simplify devm_serdev_device_open() function serdev: Replace custom code with device_match_acpi_handle() Arnd Bergmann (11): vgacon: rework Kconfig dependencies vgacon: rework screen_info #ifdef checks dummycon: limit Arm console size hack to footbridge vgacon, arch/*: remove unused screen_info definitions vgacon: remove screen_info dependency vgacon: clean up global screen_info instances vga16fb: drop powerpc support hyperv: avoid dependency on screen_info efi: move screen_info into efi init code console: fix up ARM screen_info reference vgacon: fix mips/sibyte build regression Azeem Shaikh (1): vt: Replace strlcpy with strscpy Bo Liu (1): tty: hvc: remove set but unused variable Cameron Williams (11): tty: 8250: Remove UC-257 and UC-431 tty: 8250: Add support for additional Brainboxes UC cards tty: 8250: Add support for Brainboxes UP cards tty: 8250: Add support for Intashield IS-100 tty: 8250: Fix port count of PX-257 tty: 8250: Fix up PX-803/PX-857 tty: 8250: Add support for additional Brainboxes PX cards tty: 8250: Add support for Intashield IX cards tty: 8250: Add Brainboxes Oxford Semiconductor-based quirks tty: 8250: Fix IS-200 PCI ID comment tty: 8250: Add note for PX-835 Chen Ni (1): tty: serial: ma35d1_serial: Add missing check for ioremap Claudiu Beznea (1): dt-bindings: serial: renesas,scif: document r9a08g045 support Crescent CY Hsieh (4): tty: serial: 8250: Modify MOXA enum name within 8250_pci.c tty: serial: 8250: Cleanup MOXA configurations tty: serial: 8250: Relocate macros within 8250_pci.c tty: serial: 8250: Add support for MOXA Mini PCIe boards Daniel Starke (2): tty: n_gsm: fix race condition in status line change on dead connections tty: n_gsm: add copyright Siemens Mobility GmbH David Woodhouse (3): hvc/xen: fix event channel handling for secondary consoles hvc/xen: fix error path in xen_hvc_init() to always register frontend driver hvc/xen: fix console unplug Erwan Le Ray (1): serial: stm32: add support for break control Fabio Estevam (2): dt-bindings: serial: mxs: Fix compatible list serial: amba-pl011: Do not complain when DMA is absent Florian Eckert (1): tty: whitespaces in descriptions corrected by replacing tabs with spaces Francesco Dolcini (1): dt-bindings: serial: rs485: Add rs485-rts-active-high Greg Kroah-Hartman (4): Merge 6.6-rc4 into tty-next tty: vt: make vtconsole_class constant tty: vc_screen: make vc_class constant Merge 6.6-rc6 into tty-next Hanno Böck (1): tty: Restrict access to TIOCLINUX' copy-and-paste subcommands Hugo Villeneuve (7): serial: sc16is7xx: remove unused to_sc16is7xx_port macro serial: sc16is7xx: improve comments about variants serial: sc16is7xx: use device_property APIs when configuring irda mode dt-bindings: sc16is7xx: convert to YAML dt-bindings: serial: max310x: convert to YAML dt-bindings: serial: sc16is7xx: move 'allOf' block after 'required' serial: max310x: remove trailing whitespaces Ilpo Järvinen (4): serial: 8250_mid: Remove 8250_pci usage tty: serial: 8250_exar: Does not use anything from 8250_pci tty/serial: Sort drivers in makefile tty/serial: 8250: Sort drivers in Makefile Jiri Slaby (SUSE) (15): tty: n_tty: use 'retval' instead of 'c' tty: n_tty: rename and retype 'retval' in n_tty_ioctl() tty: n_tty: use min3() in copy_from_read_buf() tty: n_tty: invert the condition in copy_from_read_buf() tty: n_tty: use do-while in n_tty_check_{,un}throttle() tty: switch tty_{,un}throttle_safe() to return a bool tty: invert return values of tty_{,un}throttle_safe() tty: fix up and plug in tty_ioctl kernel-doc tty: fix kernel-doc for functions in tty.h tty: stop using ndash in kernel-doc tty: tty_buffer: use bool for 'restart' in tty_buffer_unlock_exclusive() tty: convert THROTTLE constants into enum tty: early return from send_break() on TTY_DRIVER_HARDWARE_BREAK tty: don't check for signal_pending() in send_break() tty: use 'if' in send_break() instead of 'goto' Julien Malik (1): serial: xilinx_uartps: unset STOPBRK when setting STARTBRK Kees Cook (2): mxser: Annotate struct mxser_board with __counted_by serial: 8250_pci1xxxx: Annotate struct pci1xxxx_8250 with __counted_by Krzysztof Kozlowski (3): dt-bindings: serial: fix regex pattern for matching serial node children dt-bindings: serial: allow naming of Bluetooth with GPS children dt-bindings: serial: re-order entries to match coding convention Lucas Tanure (1): tty: serial: meson: Add a earlycon for the S4 SoC Marek Vasut (1): dt-bindings: serial: imx: Document wakeup-source property Matthew Howell (2): serial: exar: Revert "serial: exar: Add support for Sealevel 7xxxC serial cards" serial: exar: Add RS-485 support for Sealevel XR17V35X based cards Max Filippov (7): serial: add PORT_GENERIC definition serial: core: tidy invalid baudrate handling in uart_get_baud_rate dt-bindings: serial: document esp32-uart drivers/tty/serial: add driver for the ESP32 UART dt-bindings: serial: document esp32s3-acm drivers/tty/serial: add ESP32S3 ACM gadget driver serial/esp32_uart: use prescaler when available Muhammad Usama Anjum (1): tty/sysrq: replace smp_processor_id() with get_cpu() Pavel Krasavin (1): tty: serial: meson: fix hard LOCKUP on crtscts mode Randy Dunlap (1): serial: core: fix kernel-doc for uart_port_unlock_irqrestore() Sascha Hauer (1): serial: imx: Put DMA enabled UART in separate lock subclass Simon Arlott (1): docs: ABI: sysfs-tty: close times are in centiseconds Thomas Gleixner (74): serial: core: Provide port lock wrappers serial: core: Use lock wrappers serial: 21285: Use port lock wrappers serial: 8250_aspeed_vuart: Use port lock wrappers serial: 8250_bcm7271: Use port lock wrappers serial: 8250: Use port lock wrappers serial: 8250_dma: Use port lock wrappers serial: 8250_dw: Use port lock wrappers serial: 8250_exar: Use port lock wrappers serial: 8250_fsl: Use port lock wrappers serial: 8250_mtk: Use port lock wrappers serial: 8250_omap: Use port lock wrappers serial: 8250_pci1xxxx: Use port lock wrappers serial: altera_jtaguart: Use port lock wrappers serial: altera_uart: Use port lock wrappers serial: amba-pl010: Use port lock wrappers serial: amba-pl011: Use port lock wrappers serial: apb: Use port lock wrappers serial: ar933x: Use port lock wrappers serial: arc_uart: Use port lock wrappers serial: atmel: Use port lock wrappers serial: bcm63xx-uart: Use port lock wrappers serial: cpm_uart: Use port lock wrappers serial: digicolor: Use port lock wrappers serial: dz: Use port lock wrappers serial: linflexuart: Use port lock wrappers serial: fsl_lpuart: Use port lock wrappers serial: icom: Use port lock wrappers serial: imx: Use port lock wrappers serial: ip22zilog: Use port lock wrappers serial: jsm: Use port lock wrappers serial: liteuart: Use port lock wrappers serial: lpc32xx_hs: Use port lock wrappers serial: ma35d1: Use port lock wrappers serial: mcf: Use port lock wrappers serial: men_z135_uart: Use port lock wrappers serial: meson: Use port lock wrappers serial: milbeaut_usio: Use port lock wrappers serial: mpc52xx: Use port lock wrappers serial: mps2-uart: Use port lock wrappers serial: msm: Use port lock wrappers serial: mvebu-uart: Use port lock wrappers serial: omap: Use port lock wrappers serial: owl: Use port lock wrappers serial: pch: Use port lock wrappers serial: pic32: Use port lock wrappers serial: pmac_zilog: Use port lock wrappers serial: pxa: Use port lock wrappers serial: qcom-geni: Use port lock wrappers serial: rda: Use port lock wrappers serial: rp2: Use port lock wrappers serial: sa1100: Use port lock wrappers serial: samsung_tty: Use port lock wrappers serial: sb1250-duart: Use port lock wrappers serial: sc16is7xx: Use port lock wrappers serial: tegra: Use port lock wrappers serial: core: Use port lock wrappers serial: mctrl_gpio: Use port lock wrappers serial: txx9: Use port lock wrappers serial: sh-sci: Use port lock wrappers serial: sifive: Use port lock wrappers serial: sprd: Use port lock wrappers serial: st-asc: Use port lock wrappers serial: stm32: Use port lock wrappers serial: sunhv: Use port lock wrappers serial: sunplus-uart: Use port lock wrappers serial: sunsab: Use port lock wrappers serial: sunsu: Use port lock wrappers serial: sunzilog: Use port lock wrappers serial: timbuart: Use port lock wrappers serial: uartlite: Use port lock wrappers serial: ucc_uart: Use port lock wrappers serial: vt8500: Use port lock wrappers serial: xilinx_uartps: Use port lock wrappers Thomas Richard (1): serial: 8250_omap: Set the console genpd always on if no console suspend Tony Lindgren (5): serial: 8250: Check for valid console index serial: 8250_omap: Drop pm_runtime_irq_safe() printk: Check valid console index for preferred console printk: Constify name for add_preferred_console() serial: core: Fix runtime PM handling for pending tx Uwe Kleine-König (1): serial: imx: Simplify compatibility handling Wolfram Sang (2): serial: core: remove cruft from uapi header serial: core: add comment about definitely used port types Yi Yang (2): tty: vcc: Add check for kstrdup() in vcc_probe() tty: tty_jobctrl: fix pid memleak in disassociate_ctty() Zhang Shurong (1): tty: serial: linflexuart: Fix to check return value of platform_get_irq() in linflex_probe() Documentation/ABI/testing/sysfs-tty | 15 +- .../devicetree/bindings/serial/esp,esp32-acm.yaml | 42 ++ .../devicetree/bindings/serial/esp,esp32-uart.yaml | 51 ++ .../devicetree/bindings/serial/fsl-imx-uart.yaml | 2 + .../devicetree/bindings/serial/fsl-mxs-auart.yaml | 13 +- .../devicetree/bindings/serial/maxim,max310x.txt | 48 -- .../devicetree/bindings/serial/maxim,max310x.yaml | 74 ++ .../bindings/serial/nvidia,tegra20-hsuart.yaml | 10 +- .../devicetree/bindings/serial/nxp,sc16is7xx.txt | 118 ---- .../devicetree/bindings/serial/nxp,sc16is7xx.yaml | 127 ++++ .../devicetree/bindings/serial/qcom,msm-uart.yaml | 4 +- .../bindings/serial/qcom,msm-uartdm.yaml | 4 +- .../bindings/serial/renesas,em-uart.yaml | 14 +- .../devicetree/bindings/serial/renesas,hscif.yaml | 4 +- .../devicetree/bindings/serial/renesas,scif.yaml | 1 + .../devicetree/bindings/serial/renesas,scifa.yaml | 4 +- .../devicetree/bindings/serial/renesas,scifb.yaml | 4 +- .../devicetree/bindings/serial/rs485.yaml | 4 + .../devicetree/bindings/serial/samsung_uart.yaml | 8 +- .../devicetree/bindings/serial/serial.yaml | 18 +- Documentation/driver-api/tty/index.rst | 1 + Documentation/driver-api/tty/tty_ioctl.rst | 10 + arch/alpha/kernel/proto.h | 2 + arch/alpha/kernel/setup.c | 8 +- arch/alpha/kernel/sys_sio.c | 8 +- arch/arm/include/asm/setup.h | 5 + arch/arm/include/asm/vga.h | 1 + arch/arm/kernel/atags_parse.c | 20 +- arch/arm/kernel/efi.c | 6 - arch/arm/kernel/setup.c | 7 +- arch/arm64/kernel/efi.c | 4 - arch/arm64/kernel/image-vars.h | 2 + arch/csky/kernel/setup.c | 12 - arch/hexagon/kernel/Makefile | 2 - arch/hexagon/kernel/screen_info.c | 3 - arch/ia64/kernel/setup.c | 53 +- arch/loongarch/kernel/efi.c | 8 +- arch/loongarch/kernel/image-vars.h | 2 + arch/loongarch/kernel/setup.c | 3 - arch/mips/jazz/setup.c | 9 - arch/mips/kernel/setup.c | 11 - arch/mips/mti-malta/malta-setup.c | 4 +- arch/mips/sibyte/swarm/setup.c | 27 +- arch/mips/sni/setup.c | 18 +- arch/nios2/kernel/setup.c | 5 - arch/powerpc/kernel/setup-common.c | 16 - arch/riscv/kernel/image-vars.h | 2 + arch/riscv/kernel/setup.c | 12 - arch/sh/kernel/setup.c | 5 - arch/sparc/kernel/setup_32.c | 13 - arch/sparc/kernel/setup_64.c | 13 - arch/x86/kernel/setup.c | 2 +- arch/xtensa/kernel/setup.c | 12 - drivers/firmware/efi/efi-init.c | 14 +- drivers/firmware/efi/libstub/efi-stub-entry.c | 8 +- drivers/firmware/pcdp.c | 1 - drivers/gpu/drm/hyperv/hyperv_drm_drv.c | 7 +- drivers/hv/vmbus_drv.c | 6 +- drivers/tty/hvc/hvc_xen.c | 39 +- drivers/tty/hvc/hvcs.c | 2 - drivers/tty/mxser.c | 2 +- drivers/tty/n_gsm.c | 3 + drivers/tty/n_tty.c | 75 +- drivers/tty/serdev/core.c | 24 +- drivers/tty/serial/21285.c | 8 +- drivers/tty/serial/8250/8250_aspeed_vuart.c | 33 +- drivers/tty/serial/8250/8250_bcm7271.c | 69 +- drivers/tty/serial/8250/8250_core.c | 14 +- drivers/tty/serial/8250/8250_dma.c | 8 +- drivers/tty/serial/8250/8250_dw.c | 35 +- drivers/tty/serial/8250/8250_exar.c | 63 +- drivers/tty/serial/8250/8250_fsl.c | 6 +- drivers/tty/serial/8250/8250_mid.c | 18 +- drivers/tty/serial/8250/8250_mtk.c | 8 +- drivers/tty/serial/8250/8250_of.c | 44 +- drivers/tty/serial/8250/8250_omap.c | 114 ++- drivers/tty/serial/8250/8250_pci.c | 597 ++++++++++++---- drivers/tty/serial/8250/8250_pci1xxxx.c | 10 +- drivers/tty/serial/8250/8250_port.c | 111 ++- drivers/tty/serial/8250/Kconfig | 2 +- drivers/tty/serial/8250/Makefile | 44 +- drivers/tty/serial/Kconfig | 26 + drivers/tty/serial/Makefile | 126 ++-- drivers/tty/serial/altera_jtaguart.c | 28 +- drivers/tty/serial/altera_uart.c | 20 +- drivers/tty/serial/amba-pl010.c | 20 +- drivers/tty/serial/amba-pl011.c | 74 +- drivers/tty/serial/apbuart.c | 8 +- drivers/tty/serial/ar933x_uart.c | 26 +- drivers/tty/serial/arc_uart.c | 16 +- drivers/tty/serial/atmel_serial.c | 24 +- drivers/tty/serial/bcm63xx_uart.c | 22 +- drivers/tty/serial/cpm_uart.c | 8 +- drivers/tty/serial/digicolor-usart.c | 18 +- drivers/tty/serial/dz.c | 32 +- drivers/tty/serial/esp32_acm.c | 459 ++++++++++++ drivers/tty/serial/esp32_uart.c | 784 +++++++++++++++++++++ drivers/tty/serial/fsl_linflexuart.c | 32 +- drivers/tty/serial/fsl_lpuart.c | 88 +-- drivers/tty/serial/icom.c | 26 +- drivers/tty/serial/imx.c | 128 ++-- drivers/tty/serial/ip22zilog.c | 36 +- drivers/tty/serial/jsm/jsm_neo.c | 4 +- drivers/tty/serial/jsm/jsm_tty.c | 16 +- drivers/tty/serial/liteuart.c | 20 +- drivers/tty/serial/lpc32xx_hs.c | 26 +- drivers/tty/serial/ma35d1_serial.c | 25 +- drivers/tty/serial/max310x.c | 2 +- drivers/tty/serial/mcf.c | 20 +- drivers/tty/serial/men_z135_uart.c | 8 +- drivers/tty/serial/meson_uart.c | 48 +- drivers/tty/serial/milbeaut_usio.c | 16 +- drivers/tty/serial/mpc52xx_uart.c | 12 +- drivers/tty/serial/mps2-uart.c | 16 +- drivers/tty/serial/msm_serial.c | 38 +- drivers/tty/serial/mvebu-uart.c | 18 +- drivers/tty/serial/omap-serial.c | 38 +- drivers/tty/serial/owl-uart.c | 26 +- drivers/tty/serial/pch_uart.c | 10 +- drivers/tty/serial/pic32_uart.c | 20 +- drivers/tty/serial/pmac_zilog.c | 52 +- drivers/tty/serial/pxa.c | 30 +- drivers/tty/serial/qcom_geni_serial.c | 8 +- drivers/tty/serial/rda-uart.c | 34 +- drivers/tty/serial/rp2.c | 20 +- drivers/tty/serial/sa1100.c | 20 +- drivers/tty/serial/samsung_tty.c | 171 +---- drivers/tty/serial/sb1250-duart.c | 12 +- drivers/tty/serial/sc16is7xx.c | 83 ++- drivers/tty/serial/serial-tegra.c | 32 +- drivers/tty/serial/serial_core.c | 131 ++-- drivers/tty/serial/serial_mctrl_gpio.c | 4 +- drivers/tty/serial/serial_port.c | 4 +- drivers/tty/serial/serial_txx9.c | 26 +- drivers/tty/serial/sh-sci.c | 68 +- drivers/tty/serial/sifive.c | 16 +- drivers/tty/serial/sprd_serial.c | 30 +- drivers/tty/serial/st-asc.c | 18 +- drivers/tty/serial/stm32-usart.c | 51 +- drivers/tty/serial/sunhv.c | 28 +- drivers/tty/serial/sunplus-uart.c | 26 +- drivers/tty/serial/sunsab.c | 34 +- drivers/tty/serial/sunsu.c | 46 +- drivers/tty/serial/sunzilog.c | 42 +- drivers/tty/serial/timbuart.c | 8 +- drivers/tty/serial/uartlite.c | 18 +- drivers/tty/serial/ucc_uart.c | 4 +- drivers/tty/serial/vt8500_serial.c | 8 +- drivers/tty/serial/xilinx_uartps.c | 58 +- drivers/tty/sysrq.c | 3 +- drivers/tty/tty.h | 13 +- drivers/tty/tty_buffer.c | 5 +- drivers/tty/tty_io.c | 130 ++-- drivers/tty/tty_ioctl.c | 234 +++--- drivers/tty/tty_jobctrl.c | 17 +- drivers/tty/tty_port.c | 6 +- drivers/tty/vcc.c | 16 +- drivers/tty/vt/consolemap.c | 2 +- drivers/tty/vt/keyboard.c | 7 +- drivers/tty/vt/vc_screen.c | 32 +- drivers/tty/vt/vt.c | 29 +- drivers/video/console/Kconfig | 11 +- drivers/video/console/dummycon.c | 7 +- drivers/video/console/vgacon.c | 68 +- drivers/video/fbdev/Kconfig | 2 +- drivers/video/fbdev/hyperv_fb.c | 8 +- drivers/video/fbdev/vga16fb.c | 9 +- include/linux/console.h | 9 +- include/linux/serial_core.h | 91 ++- include/linux/tty.h | 25 +- include/uapi/linux/gsmmux.h | 1 + include/uapi/linux/serial_core.h | 21 +- include/uapi/linux/serial_reg.h | 1 + kernel/printk/printk.c | 12 +- 174 files changed, 4087 insertions(+), 2354 deletions(-) create mode 100644 Documentation/devicetree/bindings/serial/esp,esp32-acm.yaml create mode 100644 Documentation/devicetree/bindings/serial/esp,esp32-uart.yaml delete mode 100644 Documentation/devicetree/bindings/serial/maxim,max310x.txt create mode 100644 Documentation/devicetree/bindings/serial/maxim,max310x.yaml delete mode 100644 Documentation/devicetree/bindings/serial/nxp,sc16is7xx.txt create mode 100644 Documentation/devicetree/bindings/serial/nxp,sc16is7xx.yaml create mode 100644 Documentation/driver-api/tty/tty_ioctl.rst delete mode 100644 arch/hexagon/kernel/screen_info.c create mode 100644 drivers/tty/serial/esp32_acm.c create mode 100644 drivers/tty/serial/esp32_uart.c