Messages in this thread | | | Date | Tue, 21 Nov 2023 19:53:14 +0200 | From | Andy Shevchenko <> | Subject | Re: [PATCH v3 1/3] printk: Save console options for add_preferred_console_match() |
| |
On Tue, Nov 21, 2023 at 01:31:55PM +0200, Tony Lindgren wrote: > 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 drivers subsystems to set up a preferred console, let's save the > kernel command line console options. To add a preferred console, 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 we do > not want to call __add_preferred_console() until the character device name > and index are known. > > 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 modified accordingly. But that > complicates things compared saving the console options, and then adding > the consoles when the subsystems handling the consoles are ready.
...
> +#include <linux/console.h>
> +#include <linux/kernel.h>
I think instead of kernel.h you may want to see these:
linux/init.h linux/string.h
asm/errno.h
> +#include "console_cmdline.h"
...
> +/** > + * console_opt_save - Saves kernel command line console option for driver use > + * @str: Kernel command line console name and option > + * > + * Saves a kernel command line console option for driver subsystems to use for > + * adding a preferred console during init. Called from console_setup() only.
scripts/kernel-doc -v -none -Wall ...
most likely will complain (no Return section).
> + */ > +int __init console_opt_save(char *str)
str is not const? Hmm...
-- With Best Regards, Andy Shevchenko
| |