From 69185dd1d52773677fd5a42365448b82fe5aebc6 Mon Sep 17 00:00:00 2001 From: blogic Date: Thu, 30 May 2013 16:00:42 +0000 Subject: [PATCH] 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 --- .../linux/generic/patches-3.10/997-device_tree_cmdline.patch | 12 ++++++++++++ .../linux/generic/patches-3.8/997-device_tree_cmdline.patch | 12 ++++++++++++ .../linux/generic/patches-3.9/997-device_tree_cmdline.patch | 12 ++++++++++++ 3 files changed, 36 insertions(+) create mode 100644 target/linux/generic/patches-3.10/997-device_tree_cmdline.patch create mode 100644 target/linux/generic/patches-3.8/997-device_tree_cmdline.patch create mode 100644 target/linux/generic/patches-3.9/997-device_tree_cmdline.patch 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 -- 2.11.0