Hi,
This is v9 of a series to convert the 8250 driver to an NBCON
console, providing both threaded and atomic printing
implementations. v8 of this series is here [0].
Note that v5 was pulled into the 6.14 merge window, but was
then reverted before the 6.14-rc1 release due to kernel test
robot problems. It turned out that the problems were related
to general 8250 driver issues. Those issues have now been
addressed mainline, paving the way for a second take at
converting the 8250 driver to NBCON.
The changes since v8:
- In serial8250_suspend_port() and serial8250_resume_port(),
acquire the port->lock using the _irq() variant instead of
_irqsave() since these callbacks are always invoked from task
context
- In serial8250_fifo_wait_for_lsr_thre(), enter and exit an
unsafe section for each wait_for_lsr() in the loop since
wait_for_lsr() uses serial_lsr_in(), which performs RMW
updates to uart_8250_port->lsr_saved_flags. Without an unsafe
section, a context could race with another higher priority
context during the RMW update.
- Change single-sentence comments to not have a trailing period
John Ogness
[0] https://lore.kernel.org/lkml/20260722110925.74387-1-john.ogness@linutronix.de
John Ogness (2):
serial: 8250: Switch to nbcon console, take 2
Revert "serial: 8250: drop lockdep annotation from
serial8250_clear_IER()"
drivers/tty/serial/8250/8250.h | 4 +-
drivers/tty/serial/8250/8250_core.c | 65 +++++++--
drivers/tty/serial/8250/8250_dw.c | 2 +-
drivers/tty/serial/8250/8250_port.c | 204 +++++++++++++++++++++++-----
include/linux/serial_8250.h | 16 ++-
5 files changed, 240 insertions(+), 51 deletions(-)
base-commit: 782f4dbd1794b4f30dc116a7ca42c5962c409be8
--
2.47.3