[PATCH v4 0/1] braille: nbcon: Fix Braille console for NBCON API

From: Petr Mladek

Date: Thu Oct 01 2026 - 10:17:51 EST


Hi,

this is v4 patch which tries to fix Braille console driver to work
with serial console drivers ported to NBCON API.

I did a quick turnaround because it would be nice to get it into 7.3.
Many people attend Plumbers conference the following week...

Changes against v3:

+ Removed unnecessary "locked" variable. [John]

+ Allow to use console driver even without write_atomic,
except for panic mode [John]

+ Added parenthesis around (con->flags & CON_BRL) [John]

+ Exported nbcon_write_context_is_braille() [Sashiko]

+ Fixed many typos and wording [John]


Changes against v2:

+ Use con->device_lock() for non-panic case. Try even an unsafe
acquire in panic(). This simulates the legacy locking using
NBCON API.

+ Return when the nbcon context can't be acquired in panic().
The NBCON API is not ready to ignore the lock. Well, it
should never happen in practice because the unsafe acquire...

+ Avoid the newline prepend logic in all serial consoles
ported to NBCON API which have it. Add two APIs for
checking whether either "con" or "wctxt" is in Braille
mode.

+ Update commit message and comments in the code.


Changes against v1:

+ Merged into one patch. It is hard to explain nbcon_braille*()
API without the user.

+ Reworked the locking, see the commit message for more details.

+ Fixed the check of CON_NBCON_ATOMIC_UNSAFE [Sashiko]

IMPORTANT: The solution is not safe in PREEMPT_RT. But it is better
then nothing. We could either solve it in v3. Or we could
fix it later.

[v1] https://lore.kernel.org/r/20260922072558.98854-1-pmladek@xxxxxxxx
[v2] https://lore.kernel.org/r/20260925141729.173943-2-pmladek@xxxxxxxx
[v3] https://lore.kernel.org/r/20261001093946.112999-1-pmladek@xxxxxxxx

Petr Mladek (1):
braille: nbcon: Allow to use a serial console with NBCON API as
Braille console

.../accessibility/braille/braille_console.c | 60 +++++++++++++-
drivers/tty/serial/8250/8250_port.c | 5 +-
drivers/tty/serial/amba-pl011.c | 2 +-
drivers/tty/serial/imx.c | 2 +-
drivers/tty/serial/sifive.c | 2 +-
include/linux/console.h | 15 ++++
kernel/printk/nbcon.c | 79 +++++++++++++++++++
7 files changed, 159 insertions(+), 6 deletions(-)

--
2.55.0