The following changes since commit 9561de3a55bed6bdd44a12820ba81ec416e705a7: Linux 6.4-rc5 (2023-06-04 14:04:27 -0400) are available in the Git repository at: git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty.git tags/tty-6.5-rc1 for you to fetch changes up to e534755c9412be07f579acd2947401a9f87a33c8: tty_audit: make data of tty_audit_log() const (2023-06-21 17:57:29 +0200) ---------------------------------------------------------------- TTY/Serial driver updates for 6.5-rc1. Here is the big set of tty/serial driver updates for 6.5-rc1. Included in here are: - tty_audit code cleanups from Jiri - more 8250 cleanups from Ilpo - samsung_tty driver bugfixes - 8250 lock port updates - usual fsl_lpuart driver updates and fixes - other small serial driver fixes and updates, full details in the shortlog. All of these have been in linux-next for a while with no reported issues. Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> ---------------------------------------------------------------- Arnd Bergmann (1): serial: 8250: omap: convert to modern PM ops Chen-Yu Tsai (1): serial: 8250_mtk: Simplify clock sequencing and runtime PM Christophe JAILLET (3): tty: serial: samsung_tty: Fix a memory leak in s3c24xx_serial_getclk() in case of error tty: serial: samsung_tty: Fix a memory leak in s3c24xx_serial_getclk() when iterating clk tty: serial: samsung_tty: Use abs() to simplify some code Dan Carpenter (3): serial: core: don't kfree device managed data serial: core: fix -EPROBE_DEFER handling in init serial: atmel: don't enable IRQs prematurely Geert Uytterhoeven (1): serial: 8250: omap: Move uart_write() inside PM section Greg Kroah-Hartman (2): Merge 6.4-rc3 into tty-next Merge 6.4-rc5 into tty-next Hongyu Xie (1): serial: pl011: set UART011_CR_RXE in pl011_set_termios after port shutdown Hui Li (1): tty: fix hang on tty device with no_room set Ilpo Järvinen (6): serial: 8250: Change dl_read/write to handle value as u32 serial: 8250: Document uart_8250_port's ->dl_read/write() serial: 8250: Add dl_read/write, bugs and mapsize into plat_serial8250_port serial: 8250: RT288x/Au1xxx code away from core serial: 8250_rt288x: Name non-standard divisor latch reg serial: 8250_rt288x: Remove unnecessary UART_REG_UNMAPPED Jacky Huang (1): tty: serial: Add Nuvoton ma35d1 serial driver support James Hilliard (1): serial: Indicate fintek option may also be required for RS232 support Jiaqing Zhao (1): Revert "8250: add support for ASIX devices with a FIFO bug" Jiri Slaby (6): tty_audit: use TASK_COMM_LEN for task comm tty_audit: use kzalloc() in tty_audit_buf_alloc() tty_audit: invert the condition in tty_audit_log() tty_audit: make icanon a bool tty_audit: make tty pointers in exposed functions const tty_audit: make data of tty_audit_log() const John Ogness (8): serial: 8250: lock port in startup() callbacks serial: core: lock port for stop_rx() in uart_suspend_port() serial: 8250: lock port for stop_rx() in omap8250_irq() serial: core: lock port for start_rx() in uart_resume_port() serial: 8250: lock port for rx_dma() callback serial: 8250: lock port for omap8250_restore_regs() serial: 8250: lock port for UART_IER access in omap8250_irq() serial: 8250: synchronize and annotate UART_IER access Martin Fuzzey (1): tty: serial: imx: fix rs485 rx after tx Michal Sekletar (2): tty: tty_io: update timestamps on all device nodes selftests: tty: add selftest for tty timestamp updates Raphael Gallais-Pou (1): serial: st-asc: fix typo in property name Shenwei Wang (1): tty: serial: fsl_lpuart: optimize the timer based EOP logic Sherry Sun (2): tty: serial: fsl_lpuart: Check the return value of dmaengine_tx_status tty: serial: fsl_lpuart: add earlycon for imx8ulp platform Steven Price (1): serial: core: Don't drop port_mutex in serial_core_remove_one_port Tony Lindgren (9): serial: 8250: omap: Fix freeing of resources on failed register serial: 8250: omap: Fix imprecise external abort for omap_8250_pm() serial: 8250: omap: Fix life cycle issues for interrupt handlers serial: 8250: omap: Shut down on remove for console uart serial: 8250: Allow using ports higher than SERIAL_8250_RUNTIME_UARTS serial: core: Start managing serial controllers to enable runtime PM serial: core: Fix probing serial_base_bus devices serial: core: Fix error handling for serial_core_ctrl_device_add() serial: 8250_omap: Use force_suspend and resume for system suspend Uwe Kleine-König (7): serial: stm32: Ignore return value of uart_remove_one_port() in .remove() serial: Make uart_remove_one_port() return void serial: Switch i2c drivers back to use .probe() serial: 8250-fsl: Expand description of the MPC83xx UART's misbehaviour powerpc/legacy_serial: Warn about 8250 devices operated without active FSL workarounds powerpc/legacy_serial: Handle SERIAL_8250_FSL=n build failures serial: 8250: Apply FSL workarounds also without SERIAL_8250_CONSOLE arch/mips/alchemy/common/platform.c | 10 +- arch/powerpc/kernel/legacy_serial.c | 14 +- drivers/tty/n_tty.c | 25 +- drivers/tty/serial/8250/8250.h | 11 +- drivers/tty/serial/8250/8250_aspeed_vuart.c | 3 + drivers/tty/serial/8250/8250_bcm7271.c | 4 + drivers/tty/serial/8250/8250_core.c | 91 ++- drivers/tty/serial/8250/8250_early.c | 21 - drivers/tty/serial/8250/8250_em.c | 4 +- drivers/tty/serial/8250/8250_exar.c | 4 + drivers/tty/serial/8250/8250_fsl.c | 17 +- drivers/tty/serial/8250/8250_mtk.c | 59 +- drivers/tty/serial/8250/8250_of.c | 6 +- drivers/tty/serial/8250/8250_omap.c | 215 ++++--- drivers/tty/serial/8250/8250_pci.c | 19 - drivers/tty/serial/8250/8250_port.c | 167 +++-- drivers/tty/serial/8250/8250_pxa.c | 2 +- drivers/tty/serial/8250/8250_rt288x.c | 136 ++++ drivers/tty/serial/8250/8250_uniphier.c | 4 +- drivers/tty/serial/8250/Kconfig | 16 +- drivers/tty/serial/8250/Makefile | 1 + drivers/tty/serial/Kconfig | 23 + drivers/tty/serial/Makefile | 6 +- drivers/tty/serial/amba-pl011.c | 7 + drivers/tty/serial/atmel_serial.c | 9 +- drivers/tty/serial/clps711x.c | 4 +- drivers/tty/serial/cpm_uart/cpm_uart_core.c | 5 +- drivers/tty/serial/fsl_lpuart.c | 57 +- drivers/tty/serial/imx.c | 22 +- drivers/tty/serial/lantiq.c | 4 +- drivers/tty/serial/ma35d1_serial.c | 821 ++++++++++++++++++++++++ drivers/tty/serial/max310x.c | 2 +- drivers/tty/serial/samsung_tty.c | 19 +- drivers/tty/serial/sc16is7xx.c | 2 +- drivers/tty/serial/serial_base.h | 46 ++ drivers/tty/serial/serial_base_bus.c | 205 ++++++ drivers/tty/serial/serial_core.c | 210 +++++- drivers/tty/serial/serial_ctrl.c | 68 ++ drivers/tty/serial/serial_port.c | 105 +++ drivers/tty/serial/st-asc.c | 6 +- drivers/tty/serial/stm32-usart.c | 5 +- drivers/tty/serial/uartlite.c | 12 +- drivers/tty/serial/xilinx_uartps.c | 5 +- drivers/tty/tty.h | 11 +- drivers/tty/tty_audit.c | 43 +- drivers/tty/tty_io.c | 31 +- include/linux/serial_8250.h | 45 +- include/linux/serial_core.h | 7 +- tools/testing/selftests/Makefile | 1 + tools/testing/selftests/tty/.gitignore | 2 + tools/testing/selftests/tty/Makefile | 5 + tools/testing/selftests/tty/tty_tstamp_update.c | 88 +++ 52 files changed, 2280 insertions(+), 425 deletions(-) create mode 100644 drivers/tty/serial/8250/8250_rt288x.c create mode 100644 drivers/tty/serial/ma35d1_serial.c create mode 100644 drivers/tty/serial/serial_base.h create mode 100644 drivers/tty/serial/serial_base_bus.c create mode 100644 drivers/tty/serial/serial_ctrl.c create mode 100644 drivers/tty/serial/serial_port.c create mode 100644 tools/testing/selftests/tty/.gitignore create mode 100644 tools/testing/selftests/tty/Makefile create mode 100644 tools/testing/selftests/tty/tty_tstamp_update.c