The following changes since commit 4ec5183ec48656cec489c49f989c508b68b518e3: Linux 6.2-rc7 (2023-02-05 13:13:28 -0800) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty.git tags/tty-6.3-rc1 for you to fetch changes up to 72206cc730b5c9208e9a99ace1c619f542035312: tty: n_gsm: add keep alive support (2023-02-16 13:50:50 +0100) ---------------------------------------------------------------- TTY/Serial driver updates for 6.3-rc1 Here is the big set of serial and tty driver updates for 6.3-rc1. Once again, Jiri and Ilpo have done a number of core vt and tty/serial layer cleanups that were much needed and appreciated. Other than that, it's just a bunch of little tty/serial driver updates: - qcom-geni-serial driver updates - liteuart driver updates - hvcs driver cleanups - n_gsm updates and additions for new features - more 8250 device support added - fpga/dfl update and additions - imx serial driver updates - fsl_lpuart updates - other tiny fixes and updates for serial drivers All of these have been in linux-next for a while with no reported problems. Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> ---------------------------------------------------------------- Andy Shevchenko (2): serial: liteuart: Don't mix devm_*() with non-devm_*() calls serial: liteuart: Remove a copy of UART id in private structure Bartosz Golaszewski (14): tty: serial: qcom-geni-serial: stop operations in progress at shutdown tty: serial: qcom-geni-serial: drop unneeded forward definitions tty: serial: qcom-geni-serial: remove unused symbols tty: serial: qcom-geni-serial: align #define values tty: serial: qcom-geni-serial: improve the to_dev_port() macro tty: serial: qcom-geni-serial: remove stray newlines tty: serial: qcom-geni-serial: refactor qcom_geni_serial_isr() tty: serial: qcom-geni-serial: remove unneeded tabs tty: serial: qcom-geni-serial: split out the FIFO tx code tty: serial: qcom-geni-serial: refactor qcom_geni_serial_send_chunk_fifo() tty: serial: qcom-geni-serial: drop the return value from handle_rx tty: serial: qcom-geni-serial: use of_device_id data soc: qcom-geni-se: add more symbol definitions tty: serial: qcom-geni-serial: add support for serial engine DMA Basheer Ahmed Muddebihal (1): fpga: dfl: Add DFHv1 Register Definitions Bin Meng (3): serial: earlycon-arm-semihost: Move smh_putc() variants in respective arch's semihost.h riscv: Implement semihost.h for earlycon semihost driver serial: Rename earlycon semihost driver Brian King (6): hvcs: Fix hvcs port reference counting hvcs: Use dev_groups to manage hvcs device attributes hvcs: Use driver groups to manage driver attributes hvcs: Get reference to tty in remove hvcs: Use vhangup in hotplug remove hvcs: Synchronize hotplug remove with port free Christoph Niedermaier (4): dt-bindings: serial: rs485: Add GPIO controlling RX enable during TX serial: core: Add option to output RS485 RX_DURING_TX state via GPIO serial: imx: Add support for RS485 RX_DURING_TX output GPIO serial: stm32: Add support for rs485 RX_DURING_TX output GPIO Christophe JAILLET (1): serial: sccnxp: Use devm_clk_get_enabled() helper Conor Dooley (1): dt-bindings: serial: snps-dw-apb-uart: add dma & dma-names properties Daniel Starke (4): tty: n_gsm: mark unusable ioctl structure fields accordingly tty: n_gsm: add RING/CD control support tty: n_gsm: add TIOCMIWAIT support tty: n_gsm: add keep alive support Elliot Berman (1): soc: qcom: geni-se: Move qcom-geni-se.h to linux/soc/qcom/geni-se.h Gabriel Somlo (14): serial: liteuart: use KBUILD_MODNAME as driver name serial: liteuart: use bit number macros serial: liteuart: remove unused uart_ops stubs serial: liteuart: don't set unused port fields serial: liteuart: minor style fix in liteuart_init() serial: liteuart: move tty_flip_buffer_push() out of rx loop serial: liteuart: rx loop should only ack rx events serial: liteuart: simplify passing of uart_insert_char() flag serial: liteuart: clean up rx loop variables serial: liteuart: separate rx loop from poll timer serial: liteuart: move function definitions serial: liteuart: add IRQ support for the RX path serial: liteuart: add IRQ support for the TX path serial: liteuart: move polling putchar() function Greg Kroah-Hartman (3): Merge 6.2-rc5 into tty-next Merge 6.2-rc7 into tty-next tty: pcn_uart: fix memory leak with using debugfs_lookup() Ilpo Järvinen (20): serial: 8250: Use defined IER bits serial: 8250: Name MSR literals serial: 8250: Cleanup MCR literals serial: 8250: Add IIR FIFOs enabled field properly serial: 8250: Define IIR 64 byte bit & cleanup related code serial: 8250_early: Convert literals to use defines tty: Cleanup tty_port_set_initialized() bool parameter tty: Cleamup tty_port_set_suspended() bool parameter tty: Cleanup tty_port_set_active() bool parameter tty: moxa: Make local var storing tty_port_initialized() bool serial: Convert uart_{,port_}startup() init_hw param to bool tty: Convert ->carrier_raised() and callchains to bool tty: Convert ->dtr_rts() to take bool argument tty/serial: Make ->dcd_change()+uart_handle_dcd_change() status bool active serial: Make uart_handle_cts_change() status param bool active tty: Return bool from tty_termios_hw_change() tty: Call ->dtr_rts() parameter active consistently tty: moxa: Rename dtr/rts parameters/variables to active serial: qcom_geni: Fix variable naming serial: liteuart: Correct error rollback Isaac True (1): serial: sc16is7xx: setup GPIO controller later in probe Jean Delvare (1): serial: liteuart: drop obsolete dependency on COMPILE_TEST Jiri Slaby (SUSE) (11): tty: vt: remove vc_uniscr_debug_check() tty: vt: drop get_vc_uniscr() tty: vt: remove reference to undefined NO_VC_UNI_SCREEN tty: vt: use sizeof(*variable) where possible tty: vt: remove char32_t typedef tty: vt: remove struct uni_screen tty: vt: replace BUG_ON() by WARN_ON_ONCE() tty: vt: simplify some unicode conditions tty: vt: separate array juggling to juggle_array() tty: vt: saner names for more scroll variables tty: vt: cache row count in con_scroll() Krzysztof Kozlowski (14): dt-bindings: serial: qcom,msm-uart: Convert to DT schema serial: msm: add lock annotation to msm_set_baud_rate() dt-bindings: serial: amlogic,meson-uart: allow other serial properties dt-bindings: serial: 8250: correct Nuvoton NPCM850 compatible dt-bindings: serial: pl011: allow ARM Primecell properties dt-bindings: serial: correct ref to serial.yaml dt-bindings: serial: cdsn,uart: add power-domains dt-bindings: serial: 8250_omap: drop rs485 properties dt-bindings: serial: fsl-imx-uart: drop common properties dt-bindings: serial: fsl-lpuart: drop rs485 properties dt-bindings: serial: fsl-lpuart: allow other serial properties dt-bindings: serial: st,stm32-uart: drop common properties dt-bindings: serial: drop unneeded quotes dt-bindings: serial: example cleanup Kumaravel Thiagarajan (4): serial: 8250_pci: Add serial8250_pci_setup_port definition in 8250_pcilib.c serial: 8250_pci1xxxx: Add driver for quad-uart support serial: 8250_pci1xxxx: Add RS485 support to quad-uart driver serial: 8250_pci1xxxx: Add power management functions to quad-uart driver Liang He (1): serial: ucc_uart: Add of_node_put() in ucc_uart_remove() Matthew Gerlach (3): Documentation: fpga: dfl: Add documentation for DFHv1 fpga: dfl: add basic support for DFHv1 tty: serial: 8250: add DFL bus driver for Altera 16550. Nate Drude (1): tty: serial: fsl_lpuart: increase maximum uart_nr to eight Peng Fan (1): tty: serial: imx: disable Ageing Timer interrupt request irq Ricardo Ribalda (2): earlycon: Let users set the clock frequency earlycon: Increase options size Rob Herring (1): dt-bindings: serial: 8250: Fix 'aspeed,lpc-io-reg' differing types Samuel Thibault (3): VT: Add height parameter to con_font_get/set consw operations VT: Add KD_FONT_OP_SET/GET_TALL operations VT: Bump font size limitation to 64x128 pixels Sergey Organov (8): serial: imx: factor-out common code to imx_uart_soft_reset() serial: imx: work-around for hardware RX flood serial: imx: do not sysrq broken chars serial: imx: do not break from FIFO reading loop prematurely serial: imx: remove redundant USR2 read from FIFO reading loop serial: imx: stop using USR2 in FIFO reading loop serial: imx: refine local variables in rxint() serial: imx: get rid of registers shadowing Shenwei Wang (1): serial: fsl_lpuart: fix RS485 RTS polariy inverse issue Sherry Sun (13): tty: serial: fsl_lpuart: only enable Idle Line Interrupt for non-dma case tty: serial: fsl_lpuart: disable Rx/Tx DMA in lpuart32_shutdown() tty: serial: fsl_lpuart: clear LPUART Status Register in lpuart32_shutdown() tty: serial: fsl_lpuart: disable the CTS when send break signal tty: serial: fsl_lpuart: disable the break condition when shutdown the uart port tty: serial: imx: disable the break condition when shutdown the uart port tty: serial: fsl_lpuart: don't enable receiver/transmitter before rx/tx dma ready tty: serial: fsl_lpuart: make rx_watermark configurable for different platforms tty: serial: fsl_lpuart: set receive watermark for imx8qxp platform tty: serial: fsl_lpuart: Fix the wrong RXWATER setting for rx dma case tty: serial: fsl_lpuart: Enable Receiver Idle Empty function for LPUART tty: serial: fsl_lpuart: set RTS watermark for lpuart tty: serial: fsl_lpuart: add imx8ulp support Sven Schnelle (2): tty: fix out-of-bounds access in tty_driver_lookup_tty() tty/vt: prevent registration of console with invalid number Tom Rix (1): serial: imx: remove a redundant check Uwe Kleine-König (1): serial: 8250: Fix mismerge regarding serial_lsr_in() Yi Yang (1): serial: tegra: Add missing clk_disable_unprepare() in tegra_uart_hw_init() Yuan Can (1): serial: pic32: Add checks for devm_clk_get() in pic32_uart_probe() Documentation/admin-guide/kernel-parameters.txt | 12 +- Documentation/devicetree/bindings/serial/8250.yaml | 10 +- .../devicetree/bindings/serial/8250_omap.yaml | 23 +- .../bindings/serial/amlogic,meson-uart.yaml | 15 +- .../devicetree/bindings/serial/cdns,uart.yaml | 27 +- .../bindings/serial/fsl,s32-linflexuart.yaml | 2 +- .../devicetree/bindings/serial/fsl-imx-uart.yaml | 11 +- .../devicetree/bindings/serial/fsl-lpuart.yaml | 6 +- .../devicetree/bindings/serial/fsl-mxs-auart.yaml | 2 +- .../devicetree/bindings/serial/pl011.yaml | 1 + .../devicetree/bindings/serial/qcom,msm-uart.txt | 25 - .../devicetree/bindings/serial/qcom,msm-uart.yaml | 56 ++ .../bindings/serial/renesas,em-uart.yaml | 10 +- .../devicetree/bindings/serial/renesas,hscif.yaml | 26 +- .../devicetree/bindings/serial/renesas,sci.yaml | 24 +- .../devicetree/bindings/serial/renesas,scif.yaml | 24 +- .../devicetree/bindings/serial/renesas,scifa.yaml | 22 +- .../devicetree/bindings/serial/renesas,scifb.yaml | 12 +- .../devicetree/bindings/serial/rs485.yaml | 6 + .../devicetree/bindings/serial/serial.yaml | 18 +- .../devicetree/bindings/serial/sifive-serial.yaml | 6 +- .../bindings/serial/snps-dw-apb-uart.yaml | 8 + .../devicetree/bindings/serial/st,stm32-uart.yaml | 7 - .../bindings/serial/xlnx,opb-uartlite.yaml | 6 +- Documentation/driver-api/tty/n_gsm.rst | 19 + Documentation/fpga/dfl.rst | 119 ++++ MAINTAINERS | 7 + arch/arm/include/asm/semihost.h | 30 + arch/arm64/include/asm/semihost.h | 24 + arch/riscv/include/asm/semihost.h | 26 + drivers/char/pcmcia/synclink_cs.c | 18 +- drivers/fpga/dfl.c | 245 ++++++-- drivers/fpga/dfl.h | 43 ++ drivers/i2c/busses/i2c-qcom-geni.c | 2 +- drivers/ipack/devices/ipoctal.c | 4 +- drivers/mmc/core/sdio_uart.c | 13 +- drivers/pps/clients/pps-ldisc.c | 6 +- drivers/s390/char/con3215.c | 4 +- drivers/soc/qcom/qcom-geni-se.c | 2 +- drivers/spi/spi-geni-qcom.c | 2 +- drivers/staging/greybus/uart.c | 4 +- drivers/tty/amiserial.c | 12 +- drivers/tty/hvc/hvc_console.c | 4 +- drivers/tty/hvc/hvc_console.h | 2 +- drivers/tty/hvc/hvc_iucv.c | 6 +- drivers/tty/hvc/hvcs.c | 91 ++- drivers/tty/moxa.c | 82 +-- drivers/tty/mxser.c | 11 +- drivers/tty/n_gsm.c | 160 +++++- drivers/tty/serial/8250/8250_dfl.c | 167 ++++++ drivers/tty/serial/8250/8250_early.c | 4 +- drivers/tty/serial/8250/8250_pci.c | 25 +- drivers/tty/serial/8250/8250_pci1xxxx.c | 494 ++++++++++++++++ drivers/tty/serial/8250/8250_pcilib.c | 40 ++ drivers/tty/serial/8250/8250_pcilib.h | 15 + drivers/tty/serial/8250/8250_port.c | 57 +- drivers/tty/serial/8250/Kconfig | 27 + drivers/tty/serial/8250/Makefile | 3 + drivers/tty/serial/Kconfig | 16 +- drivers/tty/serial/Makefile | 2 +- ...earlycon-arm-semihost.c => earlycon-semihost.c} | 25 +- drivers/tty/serial/earlycon.c | 9 +- drivers/tty/serial/fsl_lpuart.c | 119 +++- drivers/tty/serial/imx.c | 308 +++++----- drivers/tty/serial/liteuart.c | 241 ++++---- drivers/tty/serial/max3100.c | 2 +- drivers/tty/serial/max310x.c | 3 +- drivers/tty/serial/msm_serial.c | 1 + drivers/tty/serial/pch_uart.c | 2 +- drivers/tty/serial/pic32_uart.c | 2 + drivers/tty/serial/qcom_geni_serial.c | 638 ++++++++++++++------- drivers/tty/serial/sc16is7xx.c | 51 +- drivers/tty/serial/sccnxp.c | 12 +- drivers/tty/serial/serial-tegra.c | 7 +- drivers/tty/serial/serial_core.c | 77 +-- drivers/tty/serial/stm32-usart.c | 6 +- drivers/tty/serial/sunhv.c | 8 +- drivers/tty/serial/ucc_uart.c | 2 + drivers/tty/synclink_gt.c | 21 +- drivers/tty/tty_io.c | 8 +- drivers/tty/tty_ioctl.c | 8 +- drivers/tty/tty_port.c | 22 +- drivers/tty/vt/vt.c | 310 +++++----- drivers/usb/class/cdc-acm.c | 4 +- drivers/usb/serial/console.c | 2 +- drivers/usb/serial/usb-serial.c | 6 +- drivers/video/console/newport_con.c | 9 +- drivers/video/console/sticon.c | 9 +- drivers/video/console/vgacon.c | 8 +- drivers/video/fbdev/core/fbcon.c | 35 +- include/linux/console.h | 5 +- include/linux/console_struct.h | 3 +- include/linux/dfl.h | 8 + include/linux/serial.h | 10 + include/linux/serial_core.h | 9 +- .../linux/{qcom-geni-se.h => soc/qcom/geni-se.h} | 3 + include/linux/tty.h | 2 +- include/linux/tty_ldisc.h | 4 +- include/linux/tty_port.h | 10 +- include/uapi/linux/gsmmux.h | 17 +- include/uapi/linux/kd.h | 10 +- include/uapi/linux/serial_core.h | 3 + include/uapi/linux/serial_reg.h | 5 + net/bluetooth/rfcomm/tty.c | 2 +- 104 files changed, 2908 insertions(+), 1283 deletions(-) delete mode 100644 Documentation/devicetree/bindings/serial/qcom,msm-uart.txt create mode 100644 Documentation/devicetree/bindings/serial/qcom,msm-uart.yaml create mode 100644 arch/arm/include/asm/semihost.h create mode 100644 arch/arm64/include/asm/semihost.h create mode 100644 arch/riscv/include/asm/semihost.h create mode 100644 drivers/tty/serial/8250/8250_dfl.c create mode 100644 drivers/tty/serial/8250/8250_pci1xxxx.c create mode 100644 drivers/tty/serial/8250/8250_pcilib.c create mode 100644 drivers/tty/serial/8250/8250_pcilib.h rename drivers/tty/serial/{earlycon-arm-semihost.c => earlycon-semihost.c} (57%) rename include/linux/{qcom-geni-se.h => soc/qcom/geni-se.h} (99%)