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 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 --- a/drivers/of/fdt.c 2015-01-13 20:49:42.799509145 +0100
+++ b/drivers/of/fdt.c 2014-09-25 08:46:52.192711249 +0200 +++ b/drivers/of/fdt.c 2015-01-13 20:56:29.118557900 +0100
@@ -822,12 +822,21 @@ @@ -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 * CONFIG_CMDLINE is meant to be a default in case nothing else
* managed to set the command line, unless CONFIG_CMDLINE_FORCE * managed to set the command line, unless CONFIG_CMDLINE_FORCE
* is set in which case we override whatever was found earlier. * 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 #ifdef CONFIG_CMDLINE
#ifndef CONFIG_CMDLINE_FORCE #ifndef CONFIG_CMDLINE_FORCE
@ -14,9 +22,11 @@ diff -urN a/drivers/of/fdt.c b/drivers/of/fdt.c
-#endif -#endif
strlcpy(data, CONFIG_CMDLINE, COMMAND_LINE_SIZE); strlcpy(data, CONFIG_CMDLINE, COMMAND_LINE_SIZE);
+ else { + else {
+ /* append CONFIG_CMDLINE to bootloader arguments */ + /* append bootloader arguments to CONFIG_CMDLINE */
+ strlcat(data, " ", COMMAND_LINE_SIZE); + strlcat(tmp_command_line, " ", COMMAND_LINE_SIZE);
+ strlcat(data, CONFIG_CMDLINE, COMMAND_LINE_SIZE); + strlcat(tmp_command_line, data, COMMAND_LINE_SIZE);
+ /* copy everything back */
+ strlcpy(data, tmp_command_line, COMMAND_LINE_SIZE);
+ } + }
+#else +#else
+ strlcpy(data, CONFIG_CMDLINE, COMMAND_LINE_SIZE); + strlcpy(data, CONFIG_CMDLINE, COMMAND_LINE_SIZE);