From: John Crispin Date: Thu, 30 May 2013 16:00:42 +0000 (+0000) Subject: lantiq: enable retrieving kernel args from bootloader X-Git-Tag: reboot~10339 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=a9968d9cb8cb10030491fa05e24b00bd42f6d3a9;p=oweals%2Fopenwrt.git lantiq: enable retrieving kernel args from bootloader This patch is a device tree enhancement that IMHO is worthy of mainline. It allows the bootloader's commandline to be preserved even when the device tree specifies one. Signed-off-by: Daniel Gimpelevich SVN-Revision: 36780 --- diff --git a/target/linux/generic/patches-3.10/997-device_tree_cmdline.patch b/target/linux/generic/patches-3.10/997-device_tree_cmdline.patch new file mode 100644 index 0000000000..8009a297f1 --- /dev/null +++ b/target/linux/generic/patches-3.10/997-device_tree_cmdline.patch @@ -0,0 +1,12 @@ +--- a/drivers/of/fdt.c ++++ b/drivers/of/fdt.c +@@ -677,6 +677,9 @@ int __init early_init_dt_scan_chosen(uns + p = of_get_flat_dt_prop(node, "bootargs", &l); + if (p != NULL && l > 0) + strlcpy(data, p, min((int)l, COMMAND_LINE_SIZE)); ++ p = of_get_flat_dt_prop(node, "bootargs-append", &l); ++ if (p != NULL && l > 0) ++ strlcat(data, p, min(strlen(data) + (int)l, COMMAND_LINE_SIZE)); + + /* + * CONFIG_CMDLINE is meant to be a default in case nothing else diff --git a/target/linux/generic/patches-3.8/997-device_tree_cmdline.patch b/target/linux/generic/patches-3.8/997-device_tree_cmdline.patch new file mode 100644 index 0000000000..8009a297f1 --- /dev/null +++ b/target/linux/generic/patches-3.8/997-device_tree_cmdline.patch @@ -0,0 +1,12 @@ +--- a/drivers/of/fdt.c ++++ b/drivers/of/fdt.c +@@ -677,6 +677,9 @@ int __init early_init_dt_scan_chosen(uns + p = of_get_flat_dt_prop(node, "bootargs", &l); + if (p != NULL && l > 0) + strlcpy(data, p, min((int)l, COMMAND_LINE_SIZE)); ++ p = of_get_flat_dt_prop(node, "bootargs-append", &l); ++ if (p != NULL && l > 0) ++ strlcat(data, p, min(strlen(data) + (int)l, COMMAND_LINE_SIZE)); + + /* + * CONFIG_CMDLINE is meant to be a default in case nothing else diff --git a/target/linux/generic/patches-3.9/997-device_tree_cmdline.patch b/target/linux/generic/patches-3.9/997-device_tree_cmdline.patch new file mode 100644 index 0000000000..8009a297f1 --- /dev/null +++ b/target/linux/generic/patches-3.9/997-device_tree_cmdline.patch @@ -0,0 +1,12 @@ +--- a/drivers/of/fdt.c ++++ b/drivers/of/fdt.c +@@ -677,6 +677,9 @@ int __init early_init_dt_scan_chosen(uns + p = of_get_flat_dt_prop(node, "bootargs", &l); + if (p != NULL && l > 0) + strlcpy(data, p, min((int)l, COMMAND_LINE_SIZE)); ++ p = of_get_flat_dt_prop(node, "bootargs-append", &l); ++ if (p != NULL && l > 0) ++ strlcat(data, p, min(strlen(data) + (int)l, COMMAND_LINE_SIZE)); + + /* + * CONFIG_CMDLINE is meant to be a default in case nothing else