From: Petr Mladek <pmladek@suse.com>
To: Chris Down <chris@chrisdown.name>
Cc: John Ogness <john.ogness@linutronix.de>,
Sergey Senozhatsky <senozhatsky@chromium.org>,
Steven Rostedt <rostedt@goodmis.org>,
Marcos Paulo de Souza <mpdesouza@suse.com>,
Naveen Kumar Chaudhary <naveen.osdev@gmail.com>,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH v5 13/16] printk: Try to register each console as Braille first
Date: Thu, 5 Nov 2026 18:13:34 +0100 [thread overview]
Message-ID: <auy5PhQ1eCdg8Ndw@pathway.suse.cz> (raw)
In-Reply-To: <auLzFtLAUEYKvXIO@chrisdown.name>
On Thu 2026-10-29 15:17:42, Chris Down wrote:
> Petr Mladek writes:
> >Braille consoles are unique: they can only be enabled via the command
> >line and use the preferred console framework for initialization, yet
> >they are never added to the console_list or associated with
> >/dev/console. Because of this, the preferred_console variable remains
> >unset when only a Braille console is requested.
>
> This also changes what happens when the same driver is wanted both ways, which
> might be worth a sentence in the commit message.
>
> For example:
>
> console=ttyS1 console=brl,ttyS0
>
> Here we used to end up with ttyS1 as a normal console and the Braille request
> was silently ignored. Now ttyS0 becomes the Braille console, and every later
> register_console() from serial core goes to the Braille round and gets -ENODEV
> from braille_register_console(), so there is no serial console at all.
Great catch! I actually was not aware of this particular variant.
I am going to replace the "The refactoring even fixes two subtle bugs:"
section with the following:
<paste>
Behavior change:
1. The Braille console driver is newly always preferred even when different
serial ports are preferred. For example, let's have the following
command lines:
a) console=ttyS1,115200 console=brl,ttyS0,115200
b) console=00:00:0.0,115200 console=brl,ttyS0,115200
c) console=brl,ttyS0,115200 console=ttyS1,115200
They all create two entries in preferred_consoles[] because:
a) and c) differ in @index (0 vs. 1).
b) defines either @name or @devname.
But the original code registers:
a) ttyS1 as normal console because it is the 1st entry in
preferred_consoles[].
b) ttyS0 are Braille console because the generic "ttyS" driver
is registered early in univ8250_console_init(). The @devname
entry is resolved too late when serial8250_init()
registers all found devices, it assigns "tty0" for
the given "00:00:0.0" but it is already in use.
c) ttyS0 as Braille console because it is the 1st entry in
preferred_consoles[].
The new code would register ttyS0 as the Braille console in
all three variants because try_enable_braille_console() is
called 1st.
2. When only the Braille console is defined on the command line,
the original code might attempt to enable the same console twice.
One as a default and once as a Braille console. This results in calling
the setup() callback twice and incorrectly setting the CON_CONSDEV flag.
The 1st change makes the behavior more consistent and understandable.
The 2nd change is an obvious bug fix.
</paste>
> I think this is probably fine, but just needs clarifying in the commit message.
>
> >+ * @try_only_braille and @user_specifified define which
>
> -> @user_specified
Done.
> >@@ -4033,6 +4061,24 @@ static int try_enable_console(struct console *newcon)
> > {
> > int err;
> >
> >+ /*
> >+ * First, try to enable the console driver as a Braille console.
> >+ * It would have metadata in the preferred_consoles[] array.
> >+ * But it won't be counted as @preferred_console because
>
> "@preferred_console" is preferred_dev_console now, and it is a variable rather
> than a parameter, so no "@".
>
> With those:
>
> Acked-by: Chris Down <chris@chrisdown.name>
I am going to add this "Acked-by" even when the change in the commit
message is a bit bigger. But I believe that it is more correct now
and it is "just a commit message". I do not want to force you to
review the patch thoughtfully again.
Best Regards,
Petr
next prev parent reply other threads:[~2026-11-05 17:13 UTC|newest]
Thread overview: 45+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-29 12:05 [PATCH v5 00/16] printk: Clean up preferred console handling Petr Mladek
2026-09-29 12:05 ` [PATCH v5 01/16] printk: Rename struct console_cmdline to preferred_console Petr Mladek
2026-10-29 7:03 ` Chris Down
2026-11-03 15:16 ` Petr Mladek
2026-09-29 12:05 ` [PATCH v5 02/16] printk: Rename preferred_console to preferred_dev_console Petr Mladek
2026-09-29 12:05 ` [PATCH v5 03/16] printk: Cleanup _braille_(un)register_console() wrappers Petr Mladek
2026-09-29 12:05 ` [PATCH v5 04/16] printk: Separate code for adding/updating preferred console metadata Petr Mladek
2026-10-27 12:05 ` John Ogness
2026-11-03 15:57 ` Petr Mladek
2026-10-29 7:05 ` Chris Down
2026-11-03 16:12 ` Petr Mladek
2026-09-29 12:05 ` [PATCH v5 05/16] printk: Prefer the console either via name or devname exclusively Petr Mladek
2026-10-27 12:14 ` John Ogness
2026-10-29 7:06 ` Chris Down
2026-09-29 12:05 ` [PATCH v5 06/16] printk: Check that index is not defined when a console is preferred via devname Petr Mladek
2026-10-27 18:08 ` John Ogness
2026-10-29 7:07 ` Chris Down
2026-09-29 12:05 ` [PATCH v5 07/16] printk: Ensure consistent name and devname when updating preferred console Petr Mladek
2026-10-29 7:09 ` Chris Down
2026-11-03 17:08 ` Petr Mladek
2026-09-29 12:05 ` [PATCH v5 08/16] printk: Do not quietly ignore adding entry for a preferred console when there is no space Petr Mladek
2026-10-29 7:10 ` Chris Down
2026-10-29 16:23 ` John Ogness
2026-09-29 12:05 ` [PATCH v5 09/16] printk: Allow to override options via the command line Petr Mladek
2026-10-29 7:13 ` Chris Down
2026-10-30 17:04 ` John Ogness
2026-11-04 12:55 ` Petr Mladek
2026-09-29 12:05 ` [PATCH v5 10/16] printk: Allow to debug misuse of add_or_update_preferred_console() Petr Mladek
2026-10-29 7:13 ` Chris Down
2026-09-29 12:05 ` [PATCH v5 11/16] console/braille: Lock console->setup() call during the registration Petr Mladek
2026-10-29 7:15 ` Chris Down
2026-11-04 14:21 ` Petr Mladek
2026-09-29 12:05 ` [PATCH v5 12/16] printk: Separate code for enabling console Petr Mladek
2026-10-29 7:15 ` Chris Down
2026-09-29 12:05 ` [PATCH v5 13/16] printk: Try to register each console as Braille first Petr Mladek
2026-10-29 7:17 ` Chris Down
2026-11-05 17:13 ` Petr Mladek [this message]
2026-11-06 11:33 ` Petr Mladek
2026-09-29 12:05 ` [PATCH v5 14/16] printk: Do not set Braille console as preferred_console Petr Mladek
2026-10-29 7:19 ` Chris Down
2026-11-06 14:21 ` Petr Mladek
2026-09-29 12:05 ` [PATCH v5 15/16] printk: Modify try_enable_default_console() to return error/success Petr Mladek
2026-10-29 7:20 ` Chris Down
2026-09-29 12:05 ` [PATCH v5 16/16] printk: Try enable preferred consoles only when there are any Petr Mladek
2026-10-29 7:20 ` Chris Down
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=auy5PhQ1eCdg8Ndw@pathway.suse.cz \
--to=pmladek@suse.com \
--cc=chris@chrisdown.name \
--cc=john.ogness@linutronix.de \
--cc=linux-kernel@vger.kernel.org \
--cc=mpdesouza@suse.com \
--cc=naveen.osdev@gmail.com \
--cc=rostedt@goodmis.org \
--cc=senozhatsky@chromium.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.