aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux
diff options
context:
space:
mode:
authorJohn Crispin <blogic@openwrt.org>2015-01-18 09:40:53 +0000
committerJohn Crispin <blogic@openwrt.org>2015-01-18 09:40:53 +0000
commit8f53bb66bdaf94416382ec726c73842ad9af468d (patch)
tree7153837f00338f6803c84ef8bb0226d92353707c /target/linux
parent7ec3fcc08d5caffafab90c34052387c9ec4dd7d0 (diff)
downloadupstream-8f53bb66bdaf94416382ec726c73842ad9af468d.tar.gz
upstream-8f53bb66bdaf94416382ec726c73842ad9af468d.tar.bz2
upstream-8f53bb66bdaf94416382ec726c73842ad9af468d.zip
kernel: preserve bootloader command line on MIPS
Somewhere in the conversion of the MIPS architecture code to Device Tree usage, there's been a failure to keep the separate variables holding the kernel command line reconciled between the tree and the bootloader. This patch restores previous functionality that broke. Signed-off-by: Daniel Gimpelevich <daniel@gimpelevich.san-francisco.ca.us> git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44030 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux')
-rw-r--r--target/linux/generic/patches-3.14/997-device_tree_cmdline.patch22
-rw-r--r--target/linux/generic/patches-3.18/997-device_tree_cmdline.patch22
2 files changed, 38 insertions, 6 deletions
diff --git a/target/linux/generic/patches-3.14/997-device_tree_cmdline.patch b/target/linux/generic/patches-3.14/997-device_tree_cmdline.patch
index bc8e7091d5..9a52e1542b 100644
--- a/target/linux/generic/patches-3.14/997-device_tree_cmdline.patch
+++ b/target/linux/generic/patches-3.14/997-device_tree_cmdline.patch
@@ -1,6 +1,8 @@
---- a/drivers/of/fdt.c
-+++ b/drivers/of/fdt.c
-@@ -817,6 +817,9 @@ int __init early_init_dt_scan_chosen(uns
+Index: linux-3.14.28/drivers/of/fdt.c
+===================================================================
+--- linux-3.14.28.orig/drivers/of/fdt.c 2015-01-08 10:01:03.000000000 -0800
++++ linux-3.14.28/drivers/of/fdt.c 2015-01-17 20:29:51.674740290 -0800
+@@ -817,6 +817,9 @@
p = of_get_flat_dt_prop(node, "bootargs", &l);
if (p != NULL && l > 0)
strlcpy(data, p, min((int)l, COMMAND_LINE_SIZE));
@@ -10,3 +12,17 @@
/*
* CONFIG_CMDLINE is meant to be a default in case nothing else
+Index: linux-3.14.28/arch/mips/kernel/prom.c
+===================================================================
+--- linux-3.14.28.orig/arch/mips/kernel/prom.c 2015-01-17 20:30:09.922830766 -0800
++++ linux-3.14.28/arch/mips/kernel/prom.c 2015-01-17 20:30:54.095049815 -0800
+@@ -49,6 +49,9 @@
+
+ void __init __dt_setup_arch(struct boot_param_header *bph)
+ {
++ if (boot_command_line[0] == '\0')
++ strcpy(boot_command_line, arcs_cmdline);
++
+ if (!early_init_dt_scan(bph))
+ return;
+
diff --git a/target/linux/generic/patches-3.18/997-device_tree_cmdline.patch b/target/linux/generic/patches-3.18/997-device_tree_cmdline.patch
index 572e280c74..b3aa1d1966 100644
--- a/target/linux/generic/patches-3.18/997-device_tree_cmdline.patch
+++ b/target/linux/generic/patches-3.18/997-device_tree_cmdline.patch
@@ -1,6 +1,8 @@
---- a/drivers/of/fdt.c
-+++ b/drivers/of/fdt.c
-@@ -903,6 +903,9 @@ int __init early_init_dt_scan_chosen(uns
+Index: linux-3.18.2/drivers/of/fdt.c
+===================================================================
+--- linux-3.18.2.orig/drivers/of/fdt.c 2015-01-17 20:57:52.419074654 -0800
++++ linux-3.18.2/drivers/of/fdt.c 2015-01-17 20:57:52.367074398 -0800
+@@ -903,6 +903,9 @@
p = of_get_flat_dt_prop(node, "bootargs", &l);
if (p != NULL && l > 0)
strlcpy(data, p, min((int)l, COMMAND_LINE_SIZE));
@@ -10,3 +12,17 @@
/*
* CONFIG_CMDLINE is meant to be a default in case nothing else
+Index: linux-3.18.2/arch/mips/kernel/prom.c
+===================================================================
+--- linux-3.18.2.orig/arch/mips/kernel/prom.c 2015-01-17 20:57:52.419074654 -0800
++++ linux-3.18.2/arch/mips/kernel/prom.c 2015-01-17 20:57:52.415074633 -0800
+@@ -49,6 +49,9 @@
+
+ void __init __dt_setup_arch(void *bph)
+ {
++ if (boot_command_line[0] == '\0')
++ strcpy(boot_command_line, arcs_cmdline);
++
+ if (!early_init_dt_scan(bph))
+ return;
+