[PATCH tty-next v4 0/6] convert 8250 to nbcon
From: John Ogness
Date: Fri Dec 27 2024 - 17:45:40 EST
This is v4 of a series to convert the 8250 driver to an NBCON
console, providing both threaded and atomic printing
implementations. v3 of this series is here [0]. Additional
background information about NBCON consoles in general is
available in the cover letter of v2 [1].
The changes since v3:
- For callbacks ->rs485_stop_tx() and ->rs485_start_tx(),
rename argument @in_con to @toggle_ier (inverts meaning).
- For univ8250_console_device_lock() and
univ8250_console_device_unlock(), rename argument @con to @co.
- Do not introduce helpers __serial8250_stop_rx_mask_dr(),
__serial8250_stop_rx_int(), __serial8250_start_rx_int().
- Use @frame_time to determine per-character timeout, fallback
to 10ms if @frame_time not available.
- Use shorter code syntax when setting @console_line_ended.
- Introduce helper function fifo_wait_for_lsr() to wait for
multiple characters.
- For serial8250_console_fifo_write() and
serial8250_console_byte_write(), remove unnecessary
READ_ONCE() usage.
- For serial8250_console_fifo_write() and
serial8250_console_byte_write(), use nbcon_can_proceed()
rather than repeatedly enter/exit unsafe regions.
- Initialize @modem_status_work using init_irq_work() rather
than IRQ_WORK_INIT().
- Commit message and comment style cleanups as requested.
John Ogness
[0] https://lore.kernel.org/lkml/20241025105728.602310-1-john.ogness@xxxxxxxxxxxxx
[1] https://lore.kernel.org/lkml/20240913140538.221708-1-john.ogness@xxxxxxxxxxxxx
John Ogness (6):
serial: 8250: Adjust the timeout for FIFO mode
serial: 8250: Use frame rate to determine timeout
serial: 8250: Use high-level writing function for FIFO
serial: 8250: Provide flag for IER toggling for RS485
serial: 8250: Switch to nbcon console
serial: 8250: Revert "drop lockdep annotation from
serial8250_clear_IER()"
drivers/tty/serial/8250/8250.h | 4 +-
drivers/tty/serial/8250/8250_bcm2835aux.c | 4 +-
drivers/tty/serial/8250/8250_core.c | 35 +++-
drivers/tty/serial/8250/8250_omap.c | 2 +-
drivers/tty/serial/8250/8250_port.c | 223 +++++++++++++++++-----
include/linux/serial_8250.h | 12 +-
6 files changed, 214 insertions(+), 66 deletions(-)
base-commit: 2c1fd53af21b8cb13878b054894d33d3383eb1f3
--
2.39.5