First, this series depends on "tty: various cleanups" (20220411104506.8990-1-jslaby@xxxxxxx). This series introduces uart_port_tx{,_limit}() TX helpers. See PATCH 1/3 for the details. Comments welcome. Then it switches drivers to use them. First, uart_port_tx() in 2/3 and then uart_port_tx_limit() in 3/3. The diffstat of patches 2+3 is as follows: 27 files changed, 330 insertions(+), 883 deletions(-) which appears to be nice. Cc: Tobias Klauser <tklauser@xxxxxxxxxx> Cc: Richard Genoud <richard.genoud@xxxxxxxxx> Cc: Nicolas Ferre <nicolas.ferre@xxxxxxxxxxxxx> Cc: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxx> Cc: Claudiu Beznea <claudiu.beznea@xxxxxxxxxxxxx> Cc: Vladimir Zapolskiy <vz@xxxxxxxxx> Cc: Liviu Dudau <liviu.dudau@xxxxxxx> Cc: Sudeep Holla <sudeep.holla@xxxxxxx> Cc: Lorenzo Pieralisi <lorenzo.pieralisi@xxxxxxx> Cc: Shawn Guo <shawnguo@xxxxxxxxxx> Cc: Sascha Hauer <s.hauer@xxxxxxxxxxxxxx> Cc: Pengutronix Kernel Team <kernel@xxxxxxxxxxxxxx> Cc: Fabio Estevam <festevam@xxxxxxxxx> Cc: NXP Linux Team <linux-imx@xxxxxxx> Cc: "Andreas Färber" <afaerber@xxxxxxx> Cc: Manivannan Sadhasivam <mani@xxxxxxxxxx> Cc: Russell King <linux@xxxxxxxxxxxxxxx> Cc: Florian Fainelli <f.fainelli@xxxxxxxxx> Cc: bcm-kernel-feedback-list@xxxxxxxxxxxx Cc: "Pali Rohár" <pali@xxxxxxxxxx> Cc: Kevin Cernekee <cernekee@xxxxxxxxx> Cc: Palmer Dabbelt <palmer@xxxxxxxxxxx> Cc: Paul Walmsley <paul.walmsley@xxxxxxxxxx> Cc: Orson Zhai <orsonzhai@xxxxxxxxx> Cc: Baolin Wang <baolin.wang7@xxxxxxxxx> Cc: Chunyan Zhang <zhang.lyra@xxxxxxxxx> Cc: Patrice Chotard <patrice.chotard@xxxxxxxxxxx> Cc: linux-riscv@xxxxxxxxxxxxxxxxxxx Jiri Slaby (3): tty: serial: introduce uart_port_tx{,_limit}() helpers tty: serial: use uart_port_tx() helper tty: serial: use uart_port_tx_limit() helper Documentation/driver-api/serial/driver.rst | 28 +++++++++++ drivers/tty/serial/21285.c | 40 ++++++---------- drivers/tty/serial/altera_jtaguart.c | 43 +++++------------ drivers/tty/serial/altera_uart.c | 47 ++++++------------- drivers/tty/serial/amba-pl010.c | 40 +++------------- drivers/tty/serial/apbuart.c | 37 +++------------ drivers/tty/serial/atmel_serial.c | 37 ++++++--------- drivers/tty/serial/bcm63xx_uart.c | 48 ++++--------------- drivers/tty/serial/fsl_lpuart.c | 49 +++++++------------- drivers/tty/serial/lantiq.c | 50 +++++++------------- drivers/tty/serial/lpc32xx_hs.c | 53 +++++++-------------- drivers/tty/serial/mcf.c | 35 ++++++-------- drivers/tty/serial/mpc52xx_uart.c | 54 +++++++--------------- drivers/tty/serial/mps2-uart.c | 44 ++++++------------ drivers/tty/serial/mux.c | 48 ++++++------------- drivers/tty/serial/mvebu-uart.c | 47 ++++++------------- drivers/tty/serial/mxs-auart.c | 43 ++++++++--------- drivers/tty/serial/omap-serial.c | 53 ++++++--------------- drivers/tty/serial/owl-uart.c | 47 ++++++------------- drivers/tty/serial/pxa.c | 43 ++++------------- drivers/tty/serial/rp2.c | 36 ++++----------- drivers/tty/serial/sa1100.c | 50 ++++++++------------ drivers/tty/serial/serial_core.c | 53 +++++++++++++++++++++ drivers/tty/serial/serial_txx9.c | 40 +++------------- drivers/tty/serial/sifive.c | 48 +++---------------- drivers/tty/serial/sprd_serial.c | 41 +++------------- drivers/tty/serial/st-asc.c | 51 +++----------------- drivers/tty/serial/vr41xx_siu.c | 42 +++-------------- drivers/tty/serial/vt8500_serial.c | 47 ++++++------------- include/linux/serial_core.h | 9 ++++ 30 files changed, 420 insertions(+), 883 deletions(-) -- 2.35.1