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