[PATCH tty v11 0/2] Convert 8250 to NBCON, take 2
John Ogness <[email protected]> Wed, 29 Jul 2026 14:10:32 +0206
| Newsgroups | org.kernel.vger.linux-serial,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <[email protected]> |
Hi, This is v11 of a series to convert the 8250 driver to an NBCON console, providing both threaded and atomic printing implementations. v10 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 v10: - Change the main write functions to be helper functions: serial8250_console_fifo_write() -> __serial8250_console_fifo_write() serial8250_console_byte_write() -> __serial8250_console_byte_write() These functions take additional char array and size arguments for text to write. This allows the functions to be used for special text. In particular, writing the extra '\n' after a handover/takeover. - Add new serial8250_console_fifo_write() and serial8250_console_byte_write() functions that are simple wrappers for the respective helpers. - Add a __serial8250_console_write() function to handle calling the appropriate write functions for the various use_fifo/!use_fifo and console_line_ended/!console_line_ended scenarios. This not only fixes a possible FIFO overrun pointed out by Sashiko for the "use_fifo && !console_line_ended" case, but also also consolidates all the actual writing code into a single helper. - Toggle unsafe after 2 potentially large delays in the post-write part of serial8250_console_write(). This reduces the likelihood of corruption in panic output by providing more points to recognize ownership transfer. John Ogness [0] https://lore.kernel.org/lkml/[email protected] 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 | 245 +++++++++++++++++++++++----- include/linux/serial_8250.h | 16 +- 5 files changed, 277 insertions(+), 55 deletions(-) base-commit: a5339effdd523b4b3502fba5358d44e83c76a565 -- 2.47.3