ipq806x: import bootargs-append from IPQ40xx
authorRobert Marko <robert.marko@sartura.hr>
Mon, 18 May 2020 10:35:15 +0000 (12:35 +0200)
committerJohn Crispin <john@phrozen.org>
Thu, 17 Sep 2020 06:42:17 +0000 (08:42 +0200)
This imports the patch that adds bootargs-append support from IPQ40xx.

This way we can append additional boot arguments from DTS instead of only being able to overwrite them.

This way dual firmware devices can use the rootfs number that bootloader passes to decide from what to boot.
But we still need to append console info and ubi root info.

This is used by Edgecore ECW5410.

Signed-off-by: Robert Marko <robert.marko@sartura.hr>
target/linux/ipq806x/patches-5.4/997-device_tree_cmdline.patch [new file with mode: 0644]

diff --git a/target/linux/ipq806x/patches-5.4/997-device_tree_cmdline.patch b/target/linux/ipq806x/patches-5.4/997-device_tree_cmdline.patch
new file mode 100644 (file)
index 0000000..92f82b3
--- /dev/null
@@ -0,0 +1,14 @@
+Index: linux-5.4.65/drivers/of/fdt.c
+===================================================================
+--- linux-5.4.65.orig/drivers/of/fdt.c
++++ linux-5.4.65/drivers/of/fdt.c
+@@ -1059,6 +1059,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(l, COMMAND_LINE_SIZE));
++      p = of_get_flat_dt_prop(node, "bootargs-append", &l);
++      if (p != NULL && l > 0)
++              strlcat(data, p, min_t(int, strlen(data) + (int)l, COMMAND_LINE_SIZE));
+       /*
+        * CONFIG_CMDLINE is meant to be a default in case nothing else