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

From: Greg KH
Date: Fri Oct 07 2022 - 12:35:41 EST


The following changes since commit 7e2cd21e02b35483ce8ea88da5732d4d3ec3a6c9:

Merge tag 'tty-6.0-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty (2022-09-24 08:42:55 -0700)

are available in the Git repository at:

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

for you to fetch changes up to 30963b2f75bfdbbcf1cc5d80bf88fec7aaba808d:

serial: cpm_uart: Don't request IRQ too early for console port (2022-09-30 14:59:19 +0200)

----------------------------------------------------------------
TTY/Serial driver update for 6.1-rc1

Here is the big set of TTY and Serial driver updates for 6.1-rc1.

Lots of cleanups in here, no real new functionality this time around,
with the diffstat being that we removed more lines than we added!

Included in here are:
- termios unification cleanups from Al Viro, it's nice to
finally get this work done
- tty serial transmit cleanups in various drivers in preparation
for more cleanup and unification in future releases (that work
was not ready for this release.)
- n_gsm fixes and updates
- ktermios cleanups and code reductions
- dt bindings json conversions and updates for new devices
- some serial driver updates for new devices
- lots of other tiny cleanups and janitorial stuff. 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>

----------------------------------------------------------------
Al Viro (9):
loongarch: remove generic-y += termios.h
termios: get rid of stray asm/termios.h include in n_hdlc.c
termios: uninline conversion helpers
termios: start unifying non-UAPI parts of asm/termios.h
termios: consolidate values for VDISCARD in INIT_C_CC
make generic INIT_C_CC a bit more generic
termios: convert the last (sparc) INIT_C_CC to array
termios: get rid of non-UAPI asm/termios.h
termios: kill uapi termios.h that are identical to generic one

Andy Shevchenko (5):
serial: pic32_uart: Utilize uart_console_enabled()
serial: pic32_uart: Convert to use GPIO descriptors
serial: 8250_men_mcb: Remove duplicate UAPI:serial_core inclusion
serial: 8250_omap: Convert to use uart_xmit_advance()
serial: 8250_dma: Convert to use uart_xmit_advance()

Christophe JAILLET (1):
tty: serial: meson: Use devm_clk_get_enabled() helper

Christophe Leroy (1):
serial: cpm_uart: Don't request IRQ too early for console port

Colin Ian King (1):
tty: mxser: remove redundant assignment to hwid

Dan Carpenter (1):
drivers: serial: jsm: fix some leaks in probe

Daniel Starke (6):
tty: n_gsm: add enumeration for gsm encodings
tty: n_gsm: name gsm tty device minors
tty: n_gsm: replace use of gsm_read_ea() with gsm_read_ea_val()
tty: n_gsm: introduce gsm_control_command() function
tty: n_gsm: name the debug bits
tty: n_gsm: add debug bit for user payload

Daniel Vetter (3):
tty/vt: Remove printable variable
kernel/panic: Drop unblank_screen call
tty/vt: Add console_lock check to vt_console_print()

Gaosheng Cui (1):
tty: serial: cpm_uart: remove unused cpm_uart_nr declaration

Greg Kroah-Hartman (2):
Merge 6.0-rc4 into tty-next
Merge 7e2cd21e02b3 ("Merge tag 'tty-6.0-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty") into tty-next

Ilpo Järvinen (19):
serial: 8250: Add helper for clearing IER
serial: 8250: Clear dma tx_err unconditionally
tty: Remove baudrate dead code & make ktermios params const
tty: Fix comment style in tty_termios_input_baud_rate()
serial: dz: Assume previous baudrate is valid
tty: Make tty_termios_copy_hw() old ktermios const
tty: Make ldisc ->set_termios() old ktermios const
serial: Make ->set_termios() old ktermios const
usb: serial: Make ->set_termios() old ktermios const
tty: Make ->set_termios() old ktermios const
serial: sh-sci: CIRC_CNT_TO_END() is enough
serial: sh-sci: tail is already on valid range
serial: pch_uart: CIRC_CNT_TO_END() is enough
serial: ucc_uart: Remove custom frame size calculation
serial: cpm_uart: Remove custom frame size calculation
serial: fsl_lpuart: Remove custom frame size calculation
serial: sunsab: Remove frame size calculation dead-code
serial: tegra: Remove custom frame size calculation
serial: 8250: Toggle IER bits on only after irq has been set up

Jason Wang (1):
serial: fsl_lpuart: Fix comment typo

Jindong Yue (1):
tty: serial: fsl_lpuart: adjust SERIAL_FSL_LPUART_CONSOLE config dependency

Jiri Slaby (12):
tty: serial: move and cleanup vt8500_tx_empty()
tty: serial: clean up stop-tx part in altera_uart_tx_chars()
tty: serial: altera_uart_{r,t}x_chars() need only uart_port
tty: serial: extract lqasc_tx_ready() from lqasc_tx_chars()
tty: serial: extract tx_ready() from __serial_lpc32xx_tx()
tty: serial: switch mpc52xx_uart_int_{r,t}x_chars() to bool
tty: serial: extract serial_omap_put_char() from transmit_chars()
tty: serial: allow pxa.c to be COMPILE_TESTed
tty: serial: extend lqasc_tx_ready() to lqasc_console_putchar()
tty: serial: use FIELD_GET() in lqasc_tx_ready()
tty: serial: unify TX space reads under altera_jtaguart_tx_space()
tty: serial: do unlock on a common path in altera_jtaguart_console_putc()

Johan Jonker (1):
dt-bindings: serial: rockchip: add rockchip,rk3128-uart

Kewei Xu (1):
dt-binding: serial: mediatek,uart: update bingding for MT8188

Krzysztof Kozlowski (1):
dt-bindings: serial: samsung_uart: drop ref from reg-io-width

Lad Prabhakar (1):
dt-bindings: serial: renesas,scif: Document RZ/Five SoC

Lukas Wunner (4):
serial: omap: Disallow RS-485 if rts-gpio is not specified
serial: ar933x: Deassert Transmit Enable on ->rs485_config()
serial: stm32: Deassert Transmit Enable on ->rs485_config()
serial: Deassert Transmit Enable on probe in driver-specific way

Maciej W. Rozycki (3):
serial: 8250: Let drivers request full 16550A feature probing
serial: 8250: Request full 16550A feature probing for OxSemi PCIe devices
serial: 8250: Switch UART port flags to using BIT_ULL

Michal Simek (1):
tty: xilinx_uartps: Update copyright text to correct format

Pali Rohár (1):
serial: 8250: Fix restoring termios speed after suspend

Ren Zhijie (1):
serial: stm32: Fix unused-variable warning

Rob Herring (1):
dt-bindings: serial: samsung: Add 'power-domains' property

Sergiu Moga (9):
dt-bindings: serial: atmel,at91-usart: convert to json-schema
dt-bindings: serial: atmel,at91-usart: Add SAM9260 compatibles to SAM9X60
dt-bindings: serial: atmel,at91-usart: Add gclk as a possible USART clock
tty: serial: atmel: Separate mode clearing between UART and USART
tty: serial: atmel: Only divide Clock Divisor if the IP is USART
tty: serial: atmel: Make the driver aware of the existence of GCLK
tty: serial: atmel: Use FIELD_PREP/FIELD_GET
MAINTAINERS: Solve warning regarding inexistent atmel-usart binding
tty: serial: atmel: Add COMMON_CLK dependency to SERIAL_ATMEL

Shaomin Deng (1):
serial: Fix double word

Sherry Sun (1):
tty: serial: fsl_lpuart: disable dma rx/tx use flags in lpuart_dma_shutdown

Shubhrajyoti Datta (8):
tty: xilinx_uartps: Check clk_enable return value
tty: xilinx_uartps: Initialise the read_status_mask
tty: xilinx_uartps: Fix the ignore_status
tty: xilinx_uartps: Prevent writes when the controller is disabled
tty: xilinx_uartps: Add timeout waiting for loop
tty: xilinx_uartps: Check the clk_enable return value
dt-bindings: serial: pl011: Add a reg-io-width parameter
serial: pl011: Add reg-io-width parameters

Vijaya Krishna Nivarthi (1):
tty: serial: qcom-geni-serial: Replace hardcoded icc flags with macros.

Wolfram Sang (1):
tty: move from strlcpy with unused retval to strscpy

наб (5):
tty: remove TTY_MAGIC
tty: remove TTY_DRIVER_MAGIC
tty: n_hdlc: remove HDLC_MAGIC
tty: synclink_gt: remove MGSL_MAGIC
tty: hvc: remove HVC_IUCV_MAGIC

.../devicetree/bindings/mfd/atmel-usart.txt | 98 ----------
.../bindings/serial/atmel,at91-usart.yaml | 190 +++++++++++++++++++
.../devicetree/bindings/serial/mediatek,uart.yaml | 1 +
.../devicetree/bindings/serial/pl011.yaml | 6 +
.../devicetree/bindings/serial/renesas,scif.yaml | 2 +-
.../devicetree/bindings/serial/samsung_uart.yaml | 4 +-
.../bindings/serial/snps-dw-apb-uart.yaml | 1 +
Documentation/process/magic-number.rst | 4 -
.../translations/it_IT/process/magic-number.rst | 4 -
.../translations/zh_CN/process/magic-number.rst | 4 -
.../translations/zh_TW/process/magic-number.rst | 4 -
MAINTAINERS | 6 +-
arch/alpha/include/asm/termios.h | 87 ---------
arch/alpha/kernel/Makefile | 2 +-
arch/alpha/kernel/termios.c | 56 ++++++
arch/arm/mach-ep93xx/core.c | 1 +
arch/arm/mach-versatile/integrator_ap.c | 1 +
arch/ia64/include/asm/termios.h | 58 ------
arch/ia64/include/uapi/asm/termios.h | 51 ------
arch/loongarch/include/asm/Kbuild | 1 -
arch/mips/include/asm/termios.h | 105 -----------
arch/parisc/include/asm/termios.h | 52 ------
arch/parisc/include/uapi/asm/termios.h | 44 -----
arch/powerpc/include/asm/termios.h | 18 --
arch/s390/include/asm/termios.h | 26 ---
arch/s390/include/uapi/asm/termios.h | 50 -----
arch/sparc/include/asm/termios.h | 147 ---------------
arch/sparc/kernel/Makefile | 4 +-
arch/sparc/kernel/termios.c | 115 ++++++++++++
drivers/char/pcmcia/synclink_cs.c | 3 +-
drivers/ipack/devices/ipoctal.c | 2 +-
drivers/mmc/core/sdio_uart.c | 4 +-
drivers/net/usb/hso.c | 3 +-
drivers/net/wwan/wwan_core.c | 1 +
drivers/s390/char/tty3270.c | 2 +-
drivers/staging/fwserial/fwserial.c | 3 +-
drivers/staging/greybus/uart.c | 2 +-
drivers/tty/amiserial.c | 6 +-
drivers/tty/hvc/hvc_iucv.c | 11 +-
drivers/tty/hvc/hvcs.c | 3 +-
drivers/tty/moxa.c | 9 +-
drivers/tty/mxser.c | 8 +-
drivers/tty/n_gsm.c | 202 ++++++++++++---------
drivers/tty/n_hdlc.c | 28 ---
drivers/tty/n_tty.c | 2 +-
drivers/tty/pty.c | 2 +-
drivers/tty/serial/21285.c | 2 +-
drivers/tty/serial/8250/8250_bcm7271.c | 2 +-
drivers/tty/serial/8250/8250_core.c | 16 +-
drivers/tty/serial/8250/8250_dma.c | 7 +-
drivers/tty/serial/8250/8250_dw.c | 2 +-
drivers/tty/serial/8250/8250_dwlib.c | 3 +-
drivers/tty/serial/8250/8250_dwlib.h | 2 +-
drivers/tty/serial/8250/8250_fintek.c | 2 +-
drivers/tty/serial/8250/8250_lpss.c | 2 +-
drivers/tty/serial/8250/8250_men_mcb.c | 1 -
drivers/tty/serial/8250/8250_mid.c | 5 +-
drivers/tty/serial/8250/8250_mtk.c | 2 +-
drivers/tty/serial/8250/8250_omap.c | 9 +-
drivers/tty/serial/8250/8250_pci.c | 14 +-
drivers/tty/serial/8250/8250_port.c | 62 ++++---
drivers/tty/serial/Kconfig | 5 +-
drivers/tty/serial/altera_jtaguart.c | 36 ++--
drivers/tty/serial/altera_uart.c | 18 +-
drivers/tty/serial/amba-pl010.c | 2 +-
drivers/tty/serial/amba-pl011.c | 20 +-
drivers/tty/serial/apbuart.c | 2 +-
drivers/tty/serial/ar933x_uart.c | 9 +-
drivers/tty/serial/arc_uart.c | 2 +-
drivers/tty/serial/atmel_serial.c | 87 ++++++++-
drivers/tty/serial/atmel_serial.h | 75 ++++----
drivers/tty/serial/bcm63xx_uart.c | 5 +-
drivers/tty/serial/clps711x.c | 2 +-
drivers/tty/serial/cpm_uart/cpm_uart.h | 1 -
drivers/tty/serial/cpm_uart/cpm_uart_core.c | 55 +++---
drivers/tty/serial/digicolor-usart.c | 2 +-
drivers/tty/serial/dz.c | 11 +-
drivers/tty/serial/earlycon.c | 6 +-
drivers/tty/serial/fsl_linflexuart.c | 2 +-
drivers/tty/serial/fsl_lpuart.c | 27 ++-
drivers/tty/serial/icom.c | 5 +-
drivers/tty/serial/imx.c | 10 +-
drivers/tty/serial/ip22zilog.c | 2 +-
drivers/tty/serial/jsm/jsm_driver.c | 3 +-
drivers/tty/serial/jsm/jsm_tty.c | 4 +-
drivers/tty/serial/lantiq.c | 25 +--
drivers/tty/serial/liteuart.c | 2 +-
drivers/tty/serial/lpc32xx_hs.c | 12 +-
drivers/tty/serial/max3100.c | 2 +-
drivers/tty/serial/max310x.c | 2 +-
drivers/tty/serial/mcf.c | 2 +-
drivers/tty/serial/men_z135_uart.c | 4 +-
drivers/tty/serial/meson_uart.c | 31 +---
drivers/tty/serial/milbeaut_usio.c | 3 +-
drivers/tty/serial/mpc52xx_uart.c | 30 +--
drivers/tty/serial/mps2-uart.c | 2 +-
drivers/tty/serial/msm_serial.c | 2 +-
drivers/tty/serial/mux.c | 2 +-
drivers/tty/serial/mvebu-uart.c | 2 +-
drivers/tty/serial/mxs-auart.c | 2 +-
drivers/tty/serial/omap-serial.c | 49 ++---
drivers/tty/serial/owl-uart.c | 2 +-
drivers/tty/serial/pch_uart.c | 7 +-
drivers/tty/serial/pic32_uart.c | 52 ++----
drivers/tty/serial/pmac_zilog.c | 4 +-
drivers/tty/serial/pxa.c | 2 +-
drivers/tty/serial/qcom_geni_serial.c | 8 +-
drivers/tty/serial/rda-uart.c | 2 +-
drivers/tty/serial/rp2.c | 5 +-
drivers/tty/serial/sa1100.c | 2 +-
drivers/tty/serial/samsung_tty.c | 2 +-
drivers/tty/serial/sb1250-duart.c | 2 +-
drivers/tty/serial/sc16is7xx.c | 2 +-
drivers/tty/serial/sccnxp.c | 3 +-
drivers/tty/serial/serial-tegra.c | 15 +-
drivers/tty/serial/serial_core.c | 46 ++---
drivers/tty/serial/serial_txx9.c | 2 +-
drivers/tty/serial/sh-sci.c | 8 +-
drivers/tty/serial/sifive.c | 2 +-
drivers/tty/serial/sprd_serial.c | 5 +-
drivers/tty/serial/st-asc.c | 2 +-
drivers/tty/serial/stm32-usart.c | 108 +++++------
drivers/tty/serial/sunhv.c | 2 +-
drivers/tty/serial/sunplus-uart.c | 2 +-
drivers/tty/serial/sunsab.c | 22 +--
drivers/tty/serial/sunsu.c | 8 +-
drivers/tty/serial/sunzilog.c | 8 +-
drivers/tty/serial/tegra-tcu.c | 2 +-
drivers/tty/serial/timbuart.c | 4 +-
drivers/tty/serial/uartlite.c | 5 +-
drivers/tty/serial/ucc_uart.c | 18 +-
drivers/tty/serial/vt8500_serial.c | 17 +-
drivers/tty/serial/xilinx_uartps.c | 62 ++++++-
drivers/tty/serial/zs.c | 2 +-
drivers/tty/synclink_gt.c | 11 +-
drivers/tty/tty.h | 2 +-
drivers/tty/tty_baudrate.c | 26 +--
drivers/tty/tty_io.c | 11 +-
drivers/tty/tty_ioctl.c | 79 +++++++-
drivers/tty/tty_mutex.c | 6 -
drivers/tty/vcc.c | 1 +
drivers/tty/vt/vt.c | 11 +-
drivers/usb/class/cdc-acm.c | 4 +-
drivers/usb/serial/ark3116.c | 2 +-
drivers/usb/serial/belkin_sa.c | 6 +-
drivers/usb/serial/ch341.c | 5 +-
drivers/usb/serial/cp210x.c | 13 +-
drivers/usb/serial/cypress_m8.c | 6 +-
drivers/usb/serial/digi_acceleport.c | 6 +-
drivers/usb/serial/f81232.c | 3 +-
drivers/usb/serial/f81534.c | 4 +-
drivers/usb/serial/ftdi_sio.c | 6 +-
drivers/usb/serial/io_edgeport.c | 7 +-
drivers/usb/serial/io_ti.c | 8 +-
drivers/usb/serial/ir-usb.c | 6 +-
drivers/usb/serial/iuu_phoenix.c | 3 +-
drivers/usb/serial/keyspan.c | 3 +-
drivers/usb/serial/keyspan_pda.c | 3 +-
drivers/usb/serial/kl5kusb105.c | 5 +-
drivers/usb/serial/kobil_sct.c | 6 +-
drivers/usb/serial/mct_u232.c | 5 +-
drivers/usb/serial/mos7720.c | 5 +-
drivers/usb/serial/mos7840.c | 5 +-
drivers/usb/serial/mxuport.c | 4 +-
drivers/usb/serial/oti6858.c | 6 +-
drivers/usb/serial/pl2303.c | 3 +-
drivers/usb/serial/quatech2.c | 4 +-
drivers/usb/serial/spcp8x5.c | 3 +-
drivers/usb/serial/ssu100.c | 4 +-
drivers/usb/serial/ti_usb_3410_5052.c | 6 +-
drivers/usb/serial/upd78f0730.c | 4 +-
drivers/usb/serial/usb-serial.c | 3 +-
drivers/usb/serial/whiteheat.c | 6 +-
drivers/usb/serial/xr_serial.c | 20 +-
include/asm-generic/termios-base.h | 78 --------
include/asm-generic/termios.h | 108 -----------
include/linux/serdev.h | 1 +
include/linux/serial_8250.h | 5 +-
include/linux/serial_core.h | 36 ++--
include/linux/termios_internal.h | 49 +++++
include/linux/tty.h | 10 +-
include/linux/tty_driver.h | 10 +-
include/linux/tty_ldisc.h | 4 +-
include/linux/usb/serial.h | 4 +-
include/linux/vt_kern.h | 1 -
kernel/panic.c | 3 -
lib/bust_spinlocks.c | 3 -
net/bluetooth/rfcomm/tty.c | 3 +-
188 files changed, 1432 insertions(+), 1764 deletions(-)
delete mode 100644 Documentation/devicetree/bindings/mfd/atmel-usart.txt
create mode 100644 Documentation/devicetree/bindings/serial/atmel,at91-usart.yaml
delete mode 100644 arch/alpha/include/asm/termios.h
create mode 100644 arch/alpha/kernel/termios.c
delete mode 100644 arch/ia64/include/asm/termios.h
delete mode 100644 arch/ia64/include/uapi/asm/termios.h
delete mode 100644 arch/mips/include/asm/termios.h
delete mode 100644 arch/parisc/include/asm/termios.h
delete mode 100644 arch/parisc/include/uapi/asm/termios.h
delete mode 100644 arch/powerpc/include/asm/termios.h
delete mode 100644 arch/s390/include/asm/termios.h
delete mode 100644 arch/s390/include/uapi/asm/termios.h
delete mode 100644 arch/sparc/include/asm/termios.h
create mode 100644 arch/sparc/kernel/termios.c
delete mode 100644 include/asm-generic/termios-base.h
delete mode 100644 include/asm-generic/termios.h
create mode 100644 include/linux/termios_internal.h