From: Petr Mladek <pmladek@suse.com>
To: John Ogness <john.ogness@linutronix.de>
Cc: Sergey Senozhatsky <senozhatsky@chromium.org>,
Steven Rostedt <rostedt@goodmis.org>,
Marcos Paulo de Souza <mpdesouza@suse.com>,
Chris Down <chris@chrisdown.name>,
linux-kernel@vger.kernel.org, Petr Mladek <pmladek@suse.com>
Subject: [PATCH 8/8] printk: Try enable preferred consoles only when there are any
Date: Fri, 6 Feb 2026 17:50:02 +0100 [thread overview]
Message-ID: <20260206165002.496724-9-pmladek@suse.com> (raw)
In-Reply-To: <20260206165002.496724-1-pmladek@suse.com>
try_enable_preferred_console() used to be always called because it
had several hidden effects, namely:
- enabled Braille consoles which were ignored by "preferred_dev_console"
because they were not associated with /dev/console.
- returned success when a console was pre-enabled using CON_ENABLED
flag.
- returned success when a console was enabled by default because
try_enable_default_console() did not return success.
The first two hidden effects were removed in previous patches. Remove
the last one so that try_enable_preferred_console() can be called only
when any non-Braille console is preferred.
Signed-off-by: Petr Mladek <pmladek@suse.com>
---
kernel/printk/printk.c | 25 ++++++++++++++-----------
1 file changed, 14 insertions(+), 11 deletions(-)
diff --git a/kernel/printk/printk.c b/kernel/printk/printk.c
index db91be780de9..462d870feaf2 100644
--- a/kernel/printk/printk.c
+++ b/kernel/printk/printk.c
@@ -3975,18 +3975,23 @@ static int try_enable_braille_console(struct console *newcon)
}
/* Try to enable the console unconditionally */
-static void try_enable_default_console(struct console *newcon)
+static int try_enable_default_console(struct console *newcon)
{
+ int err;
+
if (newcon->index < 0)
newcon->index = 0;
- if (console_call_setup(newcon, NULL) != 0)
- return;
+ err = console_call_setup(newcon, NULL);
+ if (err)
+ return err;
newcon->flags |= CON_ENABLED;
if (newcon->device)
newcon->flags |= CON_CONSDEV;
+
+ return 0;
}
/* Return the starting sequence number for a newly registered console. */
@@ -4156,17 +4161,15 @@ void register_console(struct console *newcon)
if (preferred_dev_console < 0) {
if (hlist_empty(&console_list) || !console_first()->device ||
console_first()->flags & CON_BOOT) {
- try_enable_default_console(newcon);
+ err = try_enable_default_console(newcon);
}
+ } else {
+ err = try_enable_preferred_console(newcon, true);
+
+ if (err == -ENOENT)
+ err = try_enable_preferred_console(newcon, false);
}
- /* See if this console matches one we selected on the command line */
- err = try_enable_preferred_console(newcon, true);
-
- /* If not, try to match against the platform default(s) */
- if (err == -ENOENT)
- err = try_enable_preferred_console(newcon, false);
-
/*
* Some consoles, such as pstore and netconsole, can be enabled even
* without matching. Accept them at this stage when they had a chance
--
2.52.0
next prev parent reply other threads:[~2026-02-06 16:50 UTC|newest]
Thread overview: 32+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-02-06 16:49 [PATCH 0/8] printk: Clean up preferred console handling Petr Mladek
2026-02-06 16:49 ` [PATCH 1/8] printk: Rename struct console_cmdline to preferred_console Petr Mladek
2026-02-19 14:40 ` Chris Down
2026-02-19 18:34 ` Marcos Paulo de Souza
2026-02-06 16:49 ` [PATCH 2/8] printk: Rename preferred_console to preferred_dev_console Petr Mladek
2026-02-19 14:41 ` Chris Down
2026-02-19 18:37 ` Marcos Paulo de Souza
2026-02-06 16:49 ` [PATCH 3/8] printk: Separate code for adding/updating preferred console metadata Petr Mladek
2026-02-16 14:05 ` John Ogness
2026-02-19 12:46 ` Petr Mladek
2026-02-19 14:06 ` John Ogness
2026-02-19 14:48 ` Chris Down
2026-02-19 16:51 ` Petr Mladek
2026-02-06 16:49 ` [PATCH 4/8] printk: Cleanup _braille_(un)register_console() wrappers Petr Mladek
2026-02-19 14:49 ` Chris Down
2026-02-19 18:50 ` Marcos Paulo de Souza
2026-02-06 16:49 ` [PATCH 5/8] printk: Try to register each console as Braille first Petr Mladek
2026-02-19 14:59 ` Chris Down
2026-02-19 16:59 ` Petr Mladek
2026-02-20 4:52 ` Chris Down
2026-02-20 11:43 ` Petr Mladek
2026-02-06 16:50 ` [PATCH 6/8] printk: Do not set Braille console as preferred_console Petr Mladek
2026-02-16 16:07 ` John Ogness
2026-02-19 14:55 ` Petr Mladek
2026-02-19 15:35 ` John Ogness
2026-02-19 15:03 ` Chris Down
2026-02-06 16:50 ` [PATCH 7/8] printk: Handle pre-enabled consoles directly in register_console() Petr Mladek
2026-02-19 15:03 ` Chris Down
2026-02-06 16:50 ` Petr Mladek [this message]
2026-02-19 15:16 ` [PATCH 8/8] printk: Try enable preferred consoles only when there are any Chris Down
2026-02-17 8:56 ` [PATCH 0/8] printk: Clean up preferred console handling John Ogness
2026-02-19 15: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=20260206165002.496724-9-pmladek@suse.com \
--to=pmladek@suse.com \
--cc=chris@chrisdown.name \
--cc=john.ogness@linutronix.de \
--cc=linux-kernel@vger.kernel.org \
--cc=mpdesouza@suse.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome