All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2 0/9] printk: Clean up preferred console handling
@ 2026-04-23 13:00 Petr Mladek
  2026-04-23 13:00 ` [PATCH v2 1/9] printk: Rename struct console_cmdline to preferred_console Petr Mladek
                   ` (9 more replies)
  0 siblings, 10 replies; 23+ messages in thread
From: Petr Mladek @ 2026-04-23 13:00 UTC (permalink / raw)
  To: John Ogness
  Cc: Sergey Senozhatsky, Steven Rostedt, Marcos Paulo de Souza,
	Chris Down, linux-kernel, Petr Mladek

Hi,

this patchset does some clean up of the code for handling preferred consoles
in the console registration code.

  + 1st and 2nd patch try to improve some naming.

  + 3rd patch removes some code duplication. It better defines and describes
    the rules for adding and updating preferred consoles. It uses a more
    defensive coding style.

  + 4th, 5th, 6th, and 7th patch improve handling of Braille consoles.
    They are preferred via the command line but they do not get
    printk() messages and are not associated with /dev/console.

    The new code makes this more obvious. Also it explicitly
    defines the relation against default consoles and other
    non-Braille preferred consoles.

  + 8th patch removes a hidden side effect of
    try_enable_preferred_console()

  + 9th patch removes the last hidden side effect of
    try_enable_preferred_console() and allows to call it
    only when there are any non-Braille preferred consoles.

This patchset is a prerequisite for Marcos' clean up of CON_ENABLE
flag handling. It should prevent regressions caused by the
hidden effects of try_enable_preferred_console(), for example,
see https://lore.kernel.org/r/89409a0f48e6998ff6dd2245691b9954f0e1e435.camel@suse.com

Also I am working on a feature which would allow to explicitly
enable/prefer consoles proposed by SPCR, device tree, or
platform-specific code using a generic "console=platform".
This clean up is a prerequisite, see
https://github.com/pmladek/linux/tree/console-platform-poc1-iter9

Changes against [v1]:

  + Fix stale comment (1st patch, Chris)

  + Add comment descibing update_preferred_console() behavior (3rd patch, John)

  + Better describe behavior changes caused by update_preferred_console()
    in the commit message (3rd patch, Chris)

  + Use unsigned int for iterating/indexing preferred_consoles[]
    table (3rd patch, John)

  + Add a check preventing an update via "devname" is already assigned
    to a real "name". (3rd patch, Petr)

  + Use only Braille entries when trying to enable Braille console (Chris)

  + Split all try_enable_*console() calls into new try_enable_console()
    and return early when try_enable_braille_console() succeeded.
    Note that we do not longer need to initialize "err" variable
    in this case. (new 5th patch, Chris, Petr)

  + Put back the explicit check of CON_BRL flag in register_console()
    so that it returns prelimitary only when the driver is used in Braille
    mode. (6th patch, Chris, Petr)

  + Add comments explaining that try_enable_braille_console() might succeeded
    also when newcon->match() succeeded. In this case, the Braille mode can't
    be used because the console device was already used as an early console.[*]
    (6th patch, Chris, Petr)

  + Reset preferred_dev_console_prev when used to revert the value.
    (7th patch, John)

  + Add Acked-by and Reviewed-by tags (1st, 2nd, 4th patch, Chris, Marcos)

[*] This is a questional behavior. I would personally prefer when
    the early console is unregistered at this point and the console
    device is converted into Braille console. I consider the Braille
    mode more important. But it might be changed/fixed later
    in another patchset.

[v1] https://lore.kernel.org/r/20260206165002.496724-1-pmladek@suse.com


Petr Mladek (9):
  printk: Rename struct console_cmdline to preferred_console
  printk: Rename preferred_console to preferred_dev_console
  printk: Separate code for adding/updating preferred console metadata
  printk: Cleanup _braille_(un)register_console() wrappers
  printk: Separate code for enabling console
  printk: Try to register each console as Braille first
  printk: Do not set Braille console as preferred_console
  printk: Handle pre-enabled consoles in the top-level
    try_enable_console()
  printk: Try enable preferred consoles only when there are any

 .../accessibility/braille/braille_console.c   |   7 +-
 kernel/printk/braille.c                       |  20 +-
 kernel/printk/braille.h                       |  23 +-
 .../{console_cmdline.h => console_register.h} |   6 +-
 kernel/printk/printk.c                        | 390 ++++++++++++------
 5 files changed, 301 insertions(+), 145 deletions(-)
 rename kernel/printk/{console_cmdline.h => console_register.h} (83%)

-- 
2.53.0


^ permalink raw reply	[flat|nested] 23+ messages in thread

end of thread, other threads:[~2026-05-29 15:22 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-04-23 13:00 [PATCH v2 0/9] printk: Clean up preferred console handling Petr Mladek
2026-04-23 13:00 ` [PATCH v2 1/9] printk: Rename struct console_cmdline to preferred_console Petr Mladek
2026-04-23 14:16   ` Steven Rostedt
2026-05-08 14:22   ` John Ogness
2026-04-23 13:00 ` [PATCH v2 2/9] printk: Rename preferred_console to preferred_dev_console Petr Mladek
2026-05-15  9:07   ` John Ogness
2026-04-23 13:00 ` [PATCH v2 3/9] printk: Separate code for adding/updating preferred console metadata Petr Mladek
2026-05-05 17:47   ` Marcos Paulo de Souza
2026-05-15 10:23   ` John Ogness
2026-05-15 10:30     ` John Ogness
2026-05-29 10:06       ` Petr Mladek
2026-05-29 10:05     ` Petr Mladek
2026-04-23 13:00 ` [PATCH v2 4/9] printk: Cleanup _braille_(un)register_console() wrappers Petr Mladek
2026-05-15 12:51   ` John Ogness
2026-04-23 13:00 ` [PATCH v2 5/9] printk: Separate code for enabling console Petr Mladek
2026-05-05 17:56   ` Marcos Paulo de Souza
2026-05-15 12:57   ` John Ogness
2026-04-23 13:00 ` [PATCH v2 6/9] printk: Try to register each console as Braille first Petr Mladek
2026-04-23 13:00 ` [PATCH v2 7/9] printk: Do not set Braille console as preferred_console Petr Mladek
2026-04-23 13:00 ` [PATCH v2 8/9] printk: Handle pre-enabled consoles in the top-level try_enable_console() Petr Mladek
2026-04-23 13:00 ` [PATCH v2 9/9] printk: Try enable preferred consoles only when there are any Petr Mladek
2026-05-29 15:22   ` Petr Mladek
2026-04-24  8:20 ` [PATCH v2 0/9] printk: Clean up preferred console handling Petr Mladek

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.