[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <0c4b839f023f87c451c8aa3c4f7a8d92729c2f02.1617126961.git.danielwa@cisco.com>
Date: Tue, 30 Mar 2021 10:56:57 -0700
From: Daniel Walker <danielwa@...co.com>
To: Will Deacon <will@...nel.org>,
Christophe Leroy <christophe.leroy@...roup.eu>,
ob Herring <robh@...nel.org>,
Daniel Gimpelevich <daniel@...pelevich.san-francisco.ca.us>,
Andrew Morton <akpm@...ux-foundation.org>, x86@...nel.org,
linux-mips@...r.kernel.org, linuxppc-dev@...ts.ozlabs.org,
Rob Herring <robh+dt@...nel.org>,
Frank Rowand <frowand.list@...il.com>
Cc: xe-linux-external@...co.com,
Ruslan Ruslichenko <rruslich@...co.com>,
devicetree@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: [PATCH 2/8] CMDLINE: drivers: of: ifdef out cmdline section
It looks like there's some seepage of cmdline stuff into
the generic device tree code. This conflicts with the
generic cmdline implementation so I remove it in the case
when that's enabled.
Cc: xe-linux-external@...co.com
Signed-off-by: Ruslan Ruslichenko <rruslich@...co.com>
Signed-off-by: Daniel Walker <danielwa@...co.com>
---
drivers/of/fdt.c | 14 ++++++++++++++
1 file changed, 14 insertions(+)
diff --git a/drivers/of/fdt.c b/drivers/of/fdt.c
index dcc1dd96911a..d8805cd9717a 100644
--- a/drivers/of/fdt.c
+++ b/drivers/of/fdt.c
@@ -25,6 +25,7 @@
#include <linux/serial_core.h>
#include <linux/sysfs.h>
#include <linux/random.h>
+#include <linux/cmdline.h>
#include <asm/setup.h> /* for COMMAND_LINE_SIZE */
#include <asm/page.h>
@@ -1050,6 +1051,18 @@ int __init early_init_dt_scan_chosen(unsigned long node, const char *uname,
/* Retrieve command line */
p = of_get_flat_dt_prop(node, "bootargs", &l);
+
+#if defined(CONFIG_GENERIC_CMDLINE) && defined(CONFIG_GENERIC_CMDLINE_OF)
+ /*
+ * The builtin command line will be added here, or it can override
+ * with the DT bootargs.
+ */
+ cmdline_add_builtin(data,
+ (l > 0 ? p : NULL), /* This is sanity checking */
+ COMMAND_LINE_SIZE);
+#elif defined(CONFIG_GENERIC_CMDLINE)
+ strlcpy(data, p, COMMAND_LINE_SIZE);
+#else
if (p != NULL && l > 0)
strlcpy(data, p, min(l, COMMAND_LINE_SIZE));
@@ -1070,6 +1083,7 @@ int __init early_init_dt_scan_chosen(unsigned long node, const char *uname,
strlcpy(data, CONFIG_CMDLINE, COMMAND_LINE_SIZE);
#endif
#endif /* CONFIG_CMDLINE */
+#endif /* CONFIG_GENERIC_CMDLINE */
pr_debug("Command line is: %s\n", (char *)data);
--
2.25.1
Powered by blists - more mailing lists