From: blogic Date: Thu, 30 May 2013 16:00:42 +0000 (+0000) Subject: lantiq: enable retrieving kernel args from bootloader X-Git-Tag: fast2504n-3.10.28-merged~2468 X-Git-Url: https://git.enpas.org/?a=commitdiff_plain;h=69185dd1d52773677fd5a42365448b82fe5aebc6;p=openwrt.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 git-svn-id: svn://svn.openwrt.org/openwrt/trunk@36780 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- 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