projects/imx6/patches/linux: prepend kernel config cmdline to bootloader arguments from uEnv.txt

This commit is contained in:
vpeter4 2015-01-13 21:15:04 +01:00
parent c0ad104397
commit c10bab8371

View File

@ -1,12 +1,20 @@
diff -urN a/drivers/of/fdt.c b/drivers/of/fdt.c
--- a/drivers/of/fdt.c 2014-09-25 08:33:34.727318450 +0200
+++ b/drivers/of/fdt.c 2014-09-25 08:46:52.192711249 +0200
@@ -822,12 +822,21 @@
--- a/drivers/of/fdt.c 2015-01-13 20:49:42.799509145 +0100
+++ b/drivers/of/fdt.c 2015-01-13 20:56:29.118557900 +0100
@@ -804,6 +804,7 @@
{
unsigned long l;
char *p;
+ char tmp_command_line[COMMAND_LINE_SIZE] = CONFIG_CMDLINE;
pr_debug("search \"chosen\", depth: %d, uname: %s\n", depth, uname);
@@ -822,12 +823,23 @@
* CONFIG_CMDLINE is meant to be a default in case nothing else
* managed to set the command line, unless CONFIG_CMDLINE_FORCE
* is set in which case we override whatever was found earlier.
+ *
+ * But we do append CONFIG_CMDLINE to bootloader arguments.
+ * But we do prepend CONFIG_CMDLINE to bootloader arguments anyway.
*/
#ifdef CONFIG_CMDLINE
#ifndef CONFIG_CMDLINE_FORCE
@ -14,9 +22,11 @@ diff -urN a/drivers/of/fdt.c b/drivers/of/fdt.c
-#endif
strlcpy(data, CONFIG_CMDLINE, COMMAND_LINE_SIZE);
+ else {
+ /* append CONFIG_CMDLINE to bootloader arguments */
+ strlcat(data, " ", COMMAND_LINE_SIZE);
+ strlcat(data, CONFIG_CMDLINE, COMMAND_LINE_SIZE);
+ /* append bootloader arguments to CONFIG_CMDLINE */
+ strlcat(tmp_command_line, " ", COMMAND_LINE_SIZE);
+ strlcat(tmp_command_line, data, COMMAND_LINE_SIZE);
+ /* copy everything back */
+ strlcpy(data, tmp_command_line, COMMAND_LINE_SIZE);
+ }
+#else
+ strlcpy(data, CONFIG_CMDLINE, COMMAND_LINE_SIZE);