[PATCH 06/19] printk: Introduce register_console_force
Petr Mladek
pmladek at suse.com
Thu Jan 15 01:22:59 AEDT 2026
On Sat 2025-12-27 09:16:13, Marcos Paulo de Souza wrote:
> The register_console_force function will register a console even if it
> wasn't specified on boot. The new function will act like all consoles
> being registered were using the CON_ENABLED flag.
I am a bit confused by the last sentence. It might be bacause I am not
a native speaker. I wonder if the following is more clear:
<proposal>
The register_console_force() function will register a console even if it
wasn't preferred via the command line, SPCR, or device tree. Currently,
certain drivers pre-set the CON_ENABLE flag to achieve this.
</proposal>
> The CON_ENABLED flag will be removed in the following patches and the
> drivers that use it will migrate to register_console_force instead.
>
> --- a/kernel/printk/printk.c
> +++ b/kernel/printk/printk.c
> @@ -3858,7 +3858,7 @@ static int console_call_setup(struct console *newcon, char *options)
> * enabled such as netconsole
> */
> static int try_enable_preferred_console(struct console *newcon,
> - bool user_specified)
> + bool user_specified, bool force)
> {
> struct console_cmdline *c;
> int i, err;
> @@ -3896,12 +3896,15 @@ static int try_enable_preferred_console(struct console *newcon,
> return 0;
> }
>
> + if (force)
> + newcon->flags |= CON_ENABLED;
> +
This makes sense because the pre-enabled CON_ENABLED flag is handled
right below.
> /*
> * Some consoles, such as pstore and netconsole, can be enabled even
> * without matching. Accept the pre-enabled consoles only when match()
> * and setup() had a chance to be called.
> */
> - if (newcon->flags & CON_ENABLED && c->user_specified == user_specified)
> + if (newcon->flags & CON_ENABLED && c->user_specified == user_specified)
> return 0;
But this location was not a good idea in the first place. It hides an unexpected
side-effect into this function. It is easy to miss. A good example is
the regression caused by the last patch in this patch set, see
https://lore.kernel.org/all/89409a0f48e6998ff6dd2245691b9954f0e1e435.camel@suse.com/
I actually have a patch removing this side-effect:
More information about the Linuxppc-dev
mailing list