Skip to content
Snippets Groups Projects
Commit 6bfd210a authored by Imre Kaloz's avatar Imre Kaloz
Browse files

honor the bootloader's bootargs


Only overwrite the bootloader's bootargs if "chosen" exists in the dtb

Signed-off-by: default avatarImre Kaloz <kaloz@openwrt.org>

SVN-Revision: 43802
parent f12a0f43
No related branches found
No related tags found
No related merge requests found
--- a/arch/mips/ralink/of.c
+++ b/arch/mips/ralink/of.c
@@ -3,7 +3,7 @@
* under the terms of the GNU General Public License version 2 as published
* by the Free Software Foundation.
*
- * Copyright (C) 2008 Imre Kaloz <kaloz@openwrt.org>
+ * Copyright (C) 2008-2014 Imre Kaloz <kaloz@openwrt.org>
* Copyright (C) 2008-2009 Gabor Juhos <juhosg@openwrt.org>
* Copyright (C) 2013 John Crispin <blogic@openwrt.org>
*/
@@ -91,6 +91,17 @@ static int __init early_init_dt_find_mem
return 0;
}
+static int chosen_dtb;
+
+static int __init early_init_dt_find_chosen(unsigned long node, const char *uname,
+ int depth, void *data)
+{
+ if (depth == 1 && !strcmp(uname, "chosen"))
+ chosen_dtb = 1;
+
+ return 0;
+}
+
extern struct boot_param_header __image_dtb;
void __init plat_mem_setup(void)
@@ -103,7 +114,9 @@ void __init plat_mem_setup(void)
*/
__dt_setup_arch(&__image_dtb);
- strlcpy(arcs_cmdline, boot_command_line, COMMAND_LINE_SIZE);
+ of_scan_flat_dt(early_init_dt_find_chosen, NULL);
+ if (chosen_dtb)
+ strlcpy(arcs_cmdline, boot_command_line, COMMAND_LINE_SIZE);
of_scan_flat_dt(early_init_dt_find_memory, NULL);
if (memory_dtb)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment