[GIT PULL] TTY/Serial driver changes for 6.10-rc1

From: Greg KH
Date: Wed May 22 2024 - 10:50:24 EST


The following changes since commit ed30a4a51bb196781c8058073ea720133a65596f:

Linux 6.9-rc5 (2024-04-21 12:35:54 -0700)

are available in the Git repository at:

git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty.git tags/tty-6.10-rc1

for you to fetch changes up to e21de1455a721a0cb4217b18589ede846f5b0686:

serial: Clear UPF_DEAD before calling tty_port_register_device_attr_serdev() (2024-05-10 11:49:23 +0100)

----------------------------------------------------------------
TTY/Serial changes for 6.10-rc1

Here is the big set of tty/serial driver changes for 6.10-rc1. Included
in here are:
- Usual good set of api cleanups and evolution by Jiri Slaby to make
the serial interfaces move out of the 1990's by using kfifos instead
of hand-rolling their own logic.
- 8250_exar driver updates
- max3100 driver updates
- sc16is7xx driver updates
- exar driver updates
- sh-sci driver updates
- tty ldisc api addition to help refuse bindings
- other smaller serial driver updates

All of these have been in linux-next for a while with no reported
issues.

Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx>

----------------------------------------------------------------
Alexander Stein (1):
tty: serial: fsl_lpuart: use dev_err_probe for clocks

Alexey Gladkov (1):
VT: Use macros to define ioctls

Andy Shevchenko (36):
serial: 8250_omap: Remove unused of_gpio.h
serial: pic32_uart: Replace of_gpio.h by proper one
serial: max3100: Lock port->lock when calling uart_handle_cts_change()
serial: max3100: Update uart_driver_registered on driver removal
serial: max3100: Fix bitwise types
serial: max3100: Make struct plat_max3100 local
serial: max3100: Remove custom HW shutdown support
serial: max3100: Replace custom polling timeout with standard one
serial: max3100: Remove unneeded forward declaration
serial: max3100: Update Kconfig entry
serial: max3100: Enable TIOCM_LOOP
serial: max3100: Get crystal frequency via device property
serial: max3100: Remove duplicating irq field
serial: max3100: Switch to use dev_err_probe()
serial: max3100: Replace MODULE_ALIAS() with respective ID tables
serial: max3100: Switch to DEFINE_SIMPLE_DEV_PM_OPS()
serial: max3100: Extract to_max3100_port() helper macro
serial: max3100: Sort headers
serial: max3100: Convert to_max3100_port() to be static inline
serial: core: Extract uart_alloc_xmit_buf() and uart_free_xmit_buf()
serial: 8250_dw: Deduplicate LCR checks
serial: 8250_dw: Hide a cast in dw8250_serial_inq()
serial: 8250_exar: Don't return positive values as error codes
serial: 8250_exar: Describe all parameters in kernel doc
serial: 8250_exar: Kill CTI_PCI_DEVICE()
serial: 8250_exar: Use PCI_SUBVENDOR_ID_IBM for subvendor ID
serial: 8250_exar: Trivia typo fixes
serial: 8250_exar: Extract cti_board_init_osc_freq() helper
serial: 8250_exar: Kill unneeded ->board_init()
serial: 8250_exar: Decrease indentation level
serial: 8250_exar: Return directly from switch-cases
serial: 8250_exar: Switch to use dev_err_probe()
serial: 8250_exar: Use BIT() in exar_ee_read()
serial: 8250_exar: Make type of bit the same in exar_ee_*_bit()
serial: 8250_exar: Keep the includes sorted
serial: 8250_pnp: Switch to DEFINE_SIMPLE_DEV_PM_OPS()

Bastien Curutchet (1):
serial: 8250_of: Add clock_notifier

Claudiu Beznea (1):
serial: core: Call device_set_awake_path() for console port

Colin Ian King (2):
tty: hvc: Remove second semicolon
serial: omap: remove redundant assignment to variable tmout

Esben Haabendal (1):
serial: imx: Introduce timeout when waiting on transmitter empty

Greg Kroah-Hartman (1):
Merge 6.9-rc5 into tty-next

Guanbing Huang (3):
PNP: Add dev_is_pnp() macro
serial: port: Add support of PNP IRQ to __uart_read_properties()
serial: 8250_pnp: Support configurable reg shift property

Hans de Goede (1):
serial: Clear UPF_DEAD before calling tty_port_register_device_attr_serdev()

Hugo Villeneuve (5):
serial: sc16is7xx: add proper sched.h include for sched_set_fifo()
serial: sc16is7xx: unconditionally clear line bit in sc16is7xx_remove()
serial: sc16is7xx: split into core and I2C/SPI parts (core)
serial: sc16is7xx: split into core and I2C/SPI parts (sc16is7xx_lines)
serial: sc16is7xx: split into core and I2C/SPI parts (sc16is7xx_regcfg)

Ilpo Järvinen (1):
serial: 8250_pnp: Simplify "line" related code

Jiri Slaby (SUSE) (18):
kfifo: drop __kfifo_dma_out_finish_r()
kfifo: introduce and use kfifo_skip_count()
kfifo: add kfifo_out_linear{,_ptr}()
kfifo: remove support for physically non-contiguous memory
kfifo: rename l to len_to_end in setup_sgl()
kfifo: pass offset to setup_sgl_buf() instead of a pointer
kfifo: add kfifo_dma_out_prepare_mapped()
kfifo: fix typos in kernel-doc
tty: 8250_dma: use dmaengine_prep_slave_sg()
tty: 8250_omap: use dmaengine_prep_slave_sg()
tty: msm_serial: use dmaengine_prep_slave_sg()
tty: serial: switch from circ_buf to kfifo
tty: atmel_serial: use single DMA mapping for TX
tty: atmel_serial: define macro for RX size
tty: atmel_serial: use single DMA mapping for RX
serial: meson+qcom: don't advance the kfifo twice
serial: drop debugging WARN_ON_ONCE() from uart_put_char()
serial: msm: check dma_map_sg() return value properly

Justin Stitt (1):
tty: n_gsm: replace deprecated strncpy with strscpy

Kanak Shilledar (1):
dt-bindings: serial: actions,owl-uart: convert to dtschema

Lino Sanfilippo (4):
serial: amba-pl011: get rid of useless wrapper pl011_get_rs485_mode()
serial: amba-pl011: move variable into CONFIG_DMA_ENGINE conditional
serial: 8250: Remove superfluous sanity check
serial: ar933x: Remove unneeded static structure

Linus Torvalds (1):
tty: add the option to have a tty reject a new ldisc

Manikanta Guntupalli (3):
dt-bindings: serial: cdns,uart: Add optional reset property
arm64: zynqmp: Add resets property for UART nodes
tty: serial: uartps: Add support for uartps controller reset

Matthias Schiffer (1):
serial: imx: Raise TX trigger level to 8

Nghia Nguyen (1):
dt-bindings: serial: renesas,scif: Document r8a779h0 bindings

Parker Newman (8):
serial: exar: adding missing CTI and Exar PCI ids
serial: exar: remove old Connect Tech setup
serial: exar: added a exar_get_nr_ports function
serial: exar: add optional board_init function
serial: exar: moved generic_rs485 further up in 8250_exar.c
serial: exar: add CTI cards to exar_get_nr_ports
serial: exar: add CTI specific setup code
serial: exar: fix checkpach warnings

Pratik Farkase (1):
dt-bindings: serial: brcm,bcm2835-aux-uart: convert to dtschema

Sebastian Andrzej Siewior (1):
serial: sifive: Remove 0 from fu540-c000-uart0 binding.

Sreenath Vijayan (2):
printk: Add function to replay kernel log on consoles
tty/sysrq: Replay kernel log messages on consoles via sysrq

Tony Lindgren (9):
printk: Save console options for add_preferred_console_match()
printk: Don't try to parse DEVNAME:0.0 console options
printk: Flag register_console() if console is set on command line
serial: core: Add support for DEVNAME:0.0 style naming for kernel console
serial: core: Handle serial console options
serial: 8250: Add preferred console in serial8250_isa_init_ports()
Documentation: kernel-parameters: Add DEVNAME:0.0 format for serial ports
serial: 8250: Fix add preferred console for serial8250_isa_init_ports()
serial: core: Fix ifdef for serial base console functions

Uwe Kleine-König (3):
tty: vt: conmakehash: Don't mention the full path of the input in output
serial: ami: Mark driver struct with __refdata to prevent section mismatch
serial: pmac_zilog: Drop usage of platform_driver_probe()

Wolfram Sang (4):
serial: sh-sci: protect invalidating RXDMA on shutdown
serial: sh-sci: describe locking requirements for invalidating RXDMA
serial: sh-sci: let timeout timer only run when DMA is scheduled
serial: sh-sci: simplify locking when re-issuing RXDMA fails

wangkaiyuan (2):
tty: serial: max310x: convert to use maple tree register cache
tty: serial: sc16is7xx: convert to use maple tree register cache

Documentation/admin-guide/kernel-parameters.txt | 19 +
Documentation/admin-guide/sysrq.rst | 9 +
.../bindings/serial/actions,owl-uart.txt | 16 -
.../bindings/serial/actions,owl-uart.yaml | 48 +
.../bindings/serial/brcm,bcm2835-aux-uart.txt | 18 -
.../bindings/serial/brcm,bcm2835-aux-uart.yaml | 46 +
.../devicetree/bindings/serial/cdns,uart.yaml | 3 +
.../devicetree/bindings/serial/renesas,scif.yaml | 1 +
arch/arm64/boot/dts/xilinx/zynqmp.dtsi | 2 +
drivers/tty/amiserial.c | 8 +-
drivers/tty/hvc/hvc_xen.c | 2 +-
drivers/tty/n_gsm.c | 2 +-
drivers/tty/serial/8250/8250_bcm7271.c | 14 +-
drivers/tty/serial/8250/8250_core.c | 8 +-
drivers/tty/serial/8250/8250_dma.c | 31 +-
drivers/tty/serial/8250/8250_dw.c | 45 +-
drivers/tty/serial/8250/8250_exar.c | 1059 ++++++++++++++++++--
drivers/tty/serial/8250/8250_mtk.c | 2 +-
drivers/tty/serial/8250/8250_of.c | 37 +
drivers/tty/serial/8250/8250_omap.c | 49 +-
drivers/tty/serial/8250/8250_pci1xxxx.c | 50 +-
drivers/tty/serial/8250/8250_pnp.c | 65 +-
drivers/tty/serial/8250/8250_port.c | 29 +-
drivers/tty/serial/Kconfig | 54 +-
drivers/tty/serial/Makefile | 2 +
drivers/tty/serial/amba-pl011.c | 62 +-
drivers/tty/serial/ar933x_uart.c | 18 +-
drivers/tty/serial/arc_uart.c | 8 +-
drivers/tty/serial/atmel_serial.c | 146 ++-
drivers/tty/serial/clps711x.c | 12 +-
drivers/tty/serial/cpm_uart.c | 20 +-
drivers/tty/serial/digicolor-usart.c | 12 +-
drivers/tty/serial/dz.c | 13 +-
drivers/tty/serial/fsl_linflexuart.c | 17 +-
drivers/tty/serial/fsl_lpuart.c | 45 +-
drivers/tty/serial/icom.c | 25 +-
drivers/tty/serial/imx.c | 63 +-
drivers/tty/serial/ip22zilog.c | 26 +-
drivers/tty/serial/jsm/jsm_cls.c | 31 +-
drivers/tty/serial/jsm/jsm_neo.c | 38 +-
drivers/tty/serial/max3100.c | 340 +++----
drivers/tty/serial/max310x.c | 37 +-
drivers/tty/serial/men_z135_uart.c | 26 +-
drivers/tty/serial/meson_uart.c | 12 +-
drivers/tty/serial/milbeaut_usio.c | 15 +-
drivers/tty/serial/msm_serial.c | 122 ++-
drivers/tty/serial/mvebu-uart.c | 8 +-
drivers/tty/serial/mxs-auart.c | 23 +-
drivers/tty/serial/omap-serial.c | 1 -
drivers/tty/serial/pch_uart.c | 21 +-
drivers/tty/serial/pic32_uart.c | 17 +-
drivers/tty/serial/pmac_zilog.c | 33 +-
drivers/tty/serial/qcom_geni_serial.c | 34 +-
drivers/tty/serial/rda-uart.c | 17 +-
drivers/tty/serial/samsung_tty.c | 54 +-
drivers/tty/serial/sb1250-duart.c | 13 +-
drivers/tty/serial/sc16is7xx.c | 303 ++----
drivers/tty/serial/sc16is7xx.h | 41 +
drivers/tty/serial/sc16is7xx_i2c.c | 67 ++
drivers/tty/serial/sc16is7xx_spi.c | 90 ++
drivers/tty/serial/sccnxp.c | 16 +-
drivers/tty/serial/serial-tegra.c | 43 +-
drivers/tty/serial/serial_base.h | 30 +
drivers/tty/serial/serial_base_bus.c | 129 +++
drivers/tty/serial/serial_core.c | 154 +--
drivers/tty/serial/serial_port.c | 9 +-
drivers/tty/serial/sh-sci.c | 68 +-
drivers/tty/serial/sifive.c | 4 +-
drivers/tty/serial/sprd_serial.c | 20 +-
drivers/tty/serial/st-asc.c | 4 +-
drivers/tty/serial/stm32-usart.c | 52 +-
drivers/tty/serial/sunhv.c | 35 +-
drivers/tty/serial/sunplus-uart.c | 16 +-
drivers/tty/serial/sunsab.c | 30 +-
drivers/tty/serial/sunsu.c | 15 +-
drivers/tty/serial/sunzilog.c | 27 +-
drivers/tty/serial/tegra-tcu.c | 10 +-
drivers/tty/serial/timbuart.c | 17 +-
drivers/tty/serial/uartlite.c | 13 +-
drivers/tty/serial/ucc_uart.c | 20 +-
drivers/tty/serial/xilinx_uartps.c | 35 +-
drivers/tty/serial/zs.c | 13 +-
drivers/tty/sysrq.c | 13 +-
drivers/tty/tty_ldisc.c | 6 +
drivers/tty/vt/conmakehash.c | 15 +-
drivers/tty/vt/vt.c | 10 +
include/linux/kfifo.h | 143 ++-
include/linux/pnp.h | 4 +
include/linux/printk.h | 7 +
include/linux/serial_core.h | 49 +-
include/linux/serial_max3100.h | 48 -
include/linux/tty_driver.h | 8 +
include/uapi/linux/kd.h | 96 +-
kernel/printk/Makefile | 2 +-
kernel/printk/conopt.c | 146 +++
kernel/printk/console_cmdline.h | 6 +
kernel/printk/printk.c | 100 +-
lib/kfifo.c | 107 +-
98 files changed, 3141 insertions(+), 1808 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/serial/actions,owl-uart.txt
create mode 100644 Documentation/devicetree/bindings/serial/actions,owl-uart.yaml
delete mode 100644 Documentation/devicetree/bindings/serial/brcm,bcm2835-aux-uart.txt
create mode 100644 Documentation/devicetree/bindings/serial/brcm,bcm2835-aux-uart.yaml
create mode 100644 drivers/tty/serial/sc16is7xx.h
create mode 100644 drivers/tty/serial/sc16is7xx_i2c.c
create mode 100644 drivers/tty/serial/sc16is7xx_spi.c
delete mode 100644 include/linux/serial_max3100.h
create mode 100644 kernel/printk/conopt.c