[PATCH] riscv: always honor the CONFIG_CMDLINE_FORCE when parsing dtb

Conor.Dooley at microchip.com Conor.Dooley at microchip.com
Fri Jul 8 13:19:34 PDT 2022


Hey Wenting,
I see you've just CC'ed the list but not the maintainers.
If you run get_maintainers in the scripts directory, you'll get
a list spat out of the right people to CC.

On 08/07/2022 21:09, Wenting Zhang wrote:
> When CONFIG_CMDLINE_FORCE is enabled, cmdline provided by
> CONFIG_CMDLINE are always used. This allows CONFIG_CMDLINE to be
> used regardless of the result of device tree scanning.
> 
> This especially fixes the case where a device tree without the

You mention a fix. Do you know what commit this fixes?

> chosen node is supplied to the kernel. In such cases,
> early_init_dt_scan would return true. But inside
> early_init_dt_scan_chosen, the cmdline won't be updated as there
> is no chosen node in the device tree. As a result, CONFIG_CMDLINE
> is not copied into boot_command_line even if CONFIG_CMDLINE_FORCE
> is enabled. This commit allows properly update boot_command_line
> in this situation.
> 
> Signed-off-by: Wenting Zhang <zephray at outlook.com>
> ---
>  arch/riscv/kernel/setup.c | 5 ++---
>  1 file changed, 2 insertions(+), 3 deletions(-)
> 
> diff --git a/arch/riscv/kernel/setup.c b/arch/riscv/kernel/setup.c
> index f0f36a4a0e9b..6e8aaa1ff7c7 100644
> --- a/arch/riscv/kernel/setup.c
> +++ b/arch/riscv/kernel/setup.c
> @@ -251,10 +251,9 @@ static void __init parse_dtb(void)
>  			pr_info("Machine model: %s\n", name);
>  			dump_stack_set_arch_desc("%s (DT)", name);
>  		}
> -		return;
> -	}
> +	} else
> +		pr_err("No DTB passed to the kernel\n");

Running one of the other scripts (checkpatch.pl with the --strict
option) will complain about this:
CHECK: Unbalanced braces around else statement
#41: FILE: arch/riscv/kernel/setup.c:254:
+	} else

Thanks,
Conor.

>  
> -	pr_err("No DTB passed to the kernel\n");
>  #ifdef CONFIG_CMDLINE_FORCE
>  	strscpy(boot_command_line, CONFIG_CMDLINE, COMMAND_LINE_SIZE);
>  	pr_info("Forcing kernel command line to: %s\n", boot_command_line);


More information about the linux-riscv mailing list