|
@@ -969,10 +969,16 @@ int __init early_init_dt_scan_chosen(unsigned long node, const char *uname,
|
|
|
* is set in which case we override whatever was found earlier.
|
|
|
*/
|
|
|
#ifdef CONFIG_CMDLINE
|
|
|
-#ifndef CONFIG_CMDLINE_FORCE
|
|
|
+#if defined(CONFIG_CMDLINE_EXTEND)
|
|
|
+ strlcat(data, " ", COMMAND_LINE_SIZE);
|
|
|
+ strlcat(data, CONFIG_CMDLINE, COMMAND_LINE_SIZE);
|
|
|
+#elif defined(CONFIG_CMDLINE_FORCE)
|
|
|
+ strlcpy(data, CONFIG_CMDLINE, COMMAND_LINE_SIZE);
|
|
|
+#else
|
|
|
+ /* No arguments from boot loader, use kernel's cmdl*/
|
|
|
if (!((char *)data)[0])
|
|
|
-#endif
|
|
|
strlcpy(data, CONFIG_CMDLINE, COMMAND_LINE_SIZE);
|
|
|
+#endif
|
|
|
#endif /* CONFIG_CMDLINE */
|
|
|
|
|
|
pr_debug("Command line is: %s\n", (char*)data);
|