Messages in this thread | ![/](/images/icornerl.gif) | | From | Huacai Chen <> | Date | Tue, 11 Jul 2023 22:26:24 +0800 | Subject | Re: [PATCH v3] LoongArch: Make CONFIG_CMDLINE work with CONFIG_CMDLINE_EXTEND and CONFIG_CMDLINE_BOOTLOADER |
| |
On Tue, Jul 11, 2023 at 9:47 PM Dong Zhihong <donmor3000@hotmail.com> wrote: > > Make CONFIG_CMDLINE work with CONFIG_CMDLINE_EXTEND and > CONFIG_CMDLINE_BOOTLOADER. The touched function is bootcmdline_init()`. > There's already code handling CONFIG_CMDLINE_FORCE, which replaces > `boot_command_line` with CONFIG_CMDLINE and immediately`goto out`. It'd be > similar way to handle CONFIG_CMDLINE_EXTEND and CONFIG_CMDLINE_BOOTLOADER, > so some code is added after OF_FLATTREE part to handle them. > > Signed-off-by: Dong Zhihong <donmor3000@hotmail.com> > --- > > v3 -> v2: Reworded the commit message again to make it imperative (Ruoyao) > v2 -> v1: Reworded the commit message so it's more imperative (Markus); > Added `goto out` to FDT part (Huacai) > > arch/loongarch/kernel/setup.c | 17 +++++++++++++++++ > 1 file changed, 17 insertions(+) > > diff --git a/arch/loongarch/kernel/setup.c b/arch/loongarch/kernel/setup.c > index 78a00359bde3..3cafda1a409e 100644 > --- a/arch/loongarch/kernel/setup.c > +++ b/arch/loongarch/kernel/setup.c > @@ -332,7 +332,24 @@ static void __init bootcmdline_init(char **cmdline_p) > strlcat(boot_command_line, " ", COMMAND_LINE_SIZE); > > strlcat(boot_command_line, init_command_line, COMMAND_LINE_SIZE); > + goto out; > + } > +#endif > + > +#ifdef CONFIG_CMDLINE > + /* > + * If CONFIG_CMDLINE_BOOTLOADER is enabled then we use thei built-in > + * command line if no command line given, or we append given command > + * line to the built-in one if CONFIG_CMDLINE_EXTEND is enabled. > + */ > + if (IS_ENABLED(CONFIG_CMDLINE_EXTEND)) { > + strscpy(boot_command_line, CONFIG_CMDLINE, COMMAND_LINE_SIZE); > + strlcat(boot_command_line, " ", COMMAND_LINE_SIZE); > + strlcat(boot_command_line, init_command_line, COMMAND_LINE_SIZE); You can simply the logic: strlcat(boot_command_line, " ", COMMAND_LINE_SIZE); strlcat(boot_command_line, CONFIG_CMDLINE, COMMAND_LINE_SIZE); And then modify the comments because you are appending built-in parts to bootloader parts.
> } > + > + if (IS_ENABLED(CONFIG_CMDLINE_BOOTLOADER) && !boot_command_line[0]) > + strscpy(boot_command_line, CONFIG_CMDLINE, COMMAND_LINE_SIZE); This should be removed if you want to keep the exact meaning of CONFIG_CMDLINE_BOOTLOADER.
Huacai
> #endif > > out: > -- > 2.25.1 >
| ![\](/images/icornerr.gif) |