[PATCH tty v9 0/2] Convert 8250 to NBCON, take 2

John Ogness posted 2 patches 10 hours ago
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(-)
[PATCH tty v9 0/2] Convert 8250 to NBCON, take 2
Posted by John Ogness 10 hours ago
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