Files
linux-stable-mirror/include/linux
Tony Lindgren f03e8c1060 printk: Save console options for add_preferred_console_match()
Driver subsystems may need to translate the preferred console name to the
character device name used. We already do some of this in console_setup()
with a few hardcoded names, but that does not scale well.

The console options are parsed early in console_setup(), and the consoles
are added with __add_preferred_console(). At this point we don't know much
about the character device names and device drivers getting probed.

To allow driver subsystems to set up a preferred console, let's save the
kernel command line console options. To add a preferred console from a
driver subsystem with optional character device name translation, let's
add a new function add_preferred_console_match().

This allows the serial core layer to support console=DEVNAME:0.0 style
hardware based addressing in addition to the current console=ttyS0 style
naming. And we can start moving console_setup() character device parsing
to the driver subsystem specific code.

We use a separate array from the console_cmdline array as the character
device name and index may be unknown at the console_setup() time. And
eventually there's no need to call __add_preferred_console() until the
subsystem is ready to handle the console.

Adding the console name in addition to the character device name, and a
flag for an added console, could be added to the struct console_cmdline.
And the console_cmdline array handling could be modified accordingly. But
that complicates things compared saving the console options, and then
adding the consoles when the subsystems handling the consoles are ready.

Co-developed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://lore.kernel.org/r/20240327110021.59793-2-tony@atomide.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-04-09 15:30:13 +02:00
..
2024-03-07 21:52:03 +00:00
2024-03-27 13:17:15 +01:00
2024-03-11 15:37:23 -07:00
2024-03-07 20:37:04 +00:00
2024-03-12 23:08:29 -07:00
2024-03-04 17:01:18 -08:00
2024-03-07 09:36:08 +01:00
2024-03-10 14:38:04 -07:00
2024-04-09 15:28:03 +02:00
2024-03-13 18:38:13 -04:00
2024-03-06 13:04:18 -08:00
2024-03-09 09:14:51 -05:00
2024-03-09 09:14:50 -05:00
2024-03-26 11:07:20 -07:00
2024-03-13 12:53:53 -07:00
2024-03-13 12:53:53 -07:00
2024-03-08 12:05:10 +01:00
2024-03-03 15:06:58 -08:00
2024-03-04 20:46:18 -08:00
2024-03-04 17:25:09 +01:00
2024-03-06 10:52:12 +01:00