[PATCH v4 12/20] nios2: Convert to GENERIC_CMDLINE

Christophe Leroy
2021-04-02T15:18:13Z

This converts the architecture to GENERIC_CMDLINE.

Signed-off-by: Christophe Leroy <christophe.leroy-2tlSp11Fh4xulxpn9UvDqw@public.gmane.org>
---
v4: Added missing selection of CONFIG_GENERIC_CMDLINE in Kconfig
---
arch/nios2/Kconfig | 25 ++-----------------------
arch/nios2/kernel/setup.c | 13 ++++---------
2 files changed, 6 insertions(+), 32 deletions(-)

diff --git a/arch/nios2/Kconfig b/arch/nios2/Kconfig
index c24955c81c92..6018f3d626f8 100644
--- a/arch/nios2/Kconfig
+++ b/arch/nios2/Kconfig
@@ -10,6 +10,7 @@ config NIOS2
select COMMON_CLK
select TIMER_OF
select GENERIC_ATOMIC64
+ select GENERIC_CMDLINE
select GENERIC_CPU_DEVICES
select GENERIC_IRQ_PROBE
select GENERIC_IRQ_SHOW
@@ -90,31 +91,9 @@ config NIOS2_ALIGNMENT_TRAP

comment "Boot options"

-config CMDLINE_BOOL
- bool "Default bootloader kernel arguments"
- default y
-
-config CMDLINE
- string "Default kernel command string"
- default ""
- depends on CMDLINE_BOOL
- help
- On some platforms, there is currently no way for the boot loader to
- pass arguments to the kernel. For these platforms, you can supply
- some command-line options at build time by entering them here. In
- other cases you can specify kernel args so that you don't have
- to set them up in board prom initialization routines.
-
-config CMDLINE_FORCE
- bool "Force default kernel command string"
- depends on CMDLINE_BOOL
- help
- Set this to have arguments from the default kernel command string
- override those passed by the boot loader.
-
config NIOS2_CMDLINE_IGNORE_DTB
bool "Ignore kernel command string from DTB"
- depends on CMDLINE_BOOL
+ depends on CMDLINE != ""
depends on !CMDLINE_FORCE
default y
help
diff --git a/arch/nios2/kernel/setup.c b/arch/nios2/kernel/setup.c
index d2f21957e99c..5b38d3d0ad64 100644
--- a/arch/nios2/kernel/setup.c
+++ b/arch/nios2/kernel/setup.c
@@ -20,6 +20,7 @@
#include <linux/initrd.h>
#include <linux/of_fdt.h>
#include <linux/screen_info.h>
+#include <linux/cmdline.h>

#include <asm/mmu_context.h>
#include <asm/sections.h>
@@ -108,7 +109,7 @@ asmlinkage void __init nios2_boot_init(unsigned r4, unsigned r5, unsigned r6,
unsigned r7)
{
unsigned dtb_passed = 0;
- char cmdline_passed[COMMAND_LINE_SIZE] __maybe_unused = { 0, };
+ char cmdline_passed[COMMAND_LINE_SIZE] = { 0, };

#if defined(CONFIG_NIOS2_PASS_CMDLINE)
if (r4 == 0x534f494e) { /* r4 is magic NIOS */
@@ -127,14 +128,8 @@ asmlinkage void __init nios2_boot_init(unsigned r4, unsigned r5, unsigned r6,

early_init_devtree((void *)dtb_passed);

-#ifndef CONFIG_CMDLINE_FORCE
- if (cmdline_passed[0])
- strlcpy(boot_command_line, cmdline_passed, COMMAND_LINE_SIZE);
-#ifdef CONFIG_NIOS2_CMDLINE_IGNORE_DTB
- else
- strlcpy(boot_command_line, CONFIG_CMDLINE, COMMAND_LINE_SIZE);
-#endif
-#endif
+ if (cmdline_passed[0] || IS_ENABLED(CONFIG_NIOS2_CMDLINE_IGNORE_DTB))
+ cmdline_build(boot_command_line, cmdline_passed);

parse_early_param();
}
--
2.25.0