44 lines
1.4 KiB
Diff
44 lines
1.4 KiB
Diff
|
From: Gabor Juhos <juhosg@freemail.hu>
|
||
|
Date: Sat, 2 Dec 2017 19:15:29 +0100
|
||
|
Subject: [PATCH] MIPS: ath79: fix board detection with newer RouterBOOT versions
|
||
|
|
||
|
Recent RouterBOOT version (at least version 3.41 on RB911G-5HPacD)
|
||
|
use "Board=" kernel parameter instead of "board=" to pass the board
|
||
|
name to the kernel. Due to this change the board detection code is
|
||
|
not working on the devices shipped with the new RouterBOOT version.
|
||
|
Because the kernel is unable to identify these boards they become
|
||
|
unusable despite that they are supported by the current code.
|
||
|
|
||
|
Update the prom_init code to convert the 'Board' kernel parameter to
|
||
|
'board'. After this change, the board detection works also with the
|
||
|
new RouterBOOT versions.
|
||
|
|
||
|
Signed-off-by: Gabor Juhos <juhosg@freemail.hu>
|
||
|
---
|
||
|
--- a/arch/mips/ath79/prom.c
|
||
|
+++ b/arch/mips/ath79/prom.c
|
||
|
@@ -104,6 +104,7 @@ static int __init ath79_prom_init_myload
|
||
|
void __init prom_init(void)
|
||
|
{
|
||
|
const char *env;
|
||
|
+ char *c;
|
||
|
|
||
|
if (ath79_prom_init_myloader())
|
||
|
return;
|
||
|
@@ -137,6 +138,15 @@ void __init prom_init(void)
|
||
|
}
|
||
|
#endif
|
||
|
|
||
|
+ /*
|
||
|
+ * RouterBOOT uses "Board" kernel parameter instead of "board" since
|
||
|
+ * version 3.41 (or so). Replace the first character of the parameter
|
||
|
+ * to keep board detection working.
|
||
|
+ */
|
||
|
+ c = strstr(arcs_cmdline, "Board=");
|
||
|
+ if (c)
|
||
|
+ c[0] = 'b';
|
||
|
+
|
||
|
if (strstr(arcs_cmdline, "board=750Gr3") ||
|
||
|
strstr(arcs_cmdline, "board=750i") ||
|
||
|
strstr(arcs_cmdline, "board=750-hb") ||
|