74775ba644
SVN-Revision: 32845
47 lines
1.6 KiB
Diff
47 lines
1.6 KiB
Diff
--- a/arch/mips/bcm47xx/setup.c
|
|
+++ b/arch/mips/bcm47xx/setup.c
|
|
@@ -109,12 +109,7 @@ static int bcm47xx_get_invariants(struct
|
|
/* Fill boardinfo structure */
|
|
memset(&(iv->boardinfo), 0 , sizeof(struct ssb_boardinfo));
|
|
|
|
- if (nvram_getenv("boardvendor", buf, sizeof(buf)) >= 0)
|
|
- iv->boardinfo.vendor = (u16)simple_strtoul(buf, NULL, 0);
|
|
- else
|
|
- iv->boardinfo.vendor = SSB_BOARDVENDOR_BCM;
|
|
- if (nvram_getenv("boardtype", buf, sizeof(buf)) >= 0)
|
|
- iv->boardinfo.type = (u16)simple_strtoul(buf, NULL, 0);
|
|
+ bcm47xx_fill_ssb_boardinfo(&iv->boardinfo, NULL);
|
|
|
|
bcm47xx_fill_sprom(&iv->sprom, NULL);
|
|
|
|
--- a/arch/mips/bcm47xx/sprom.c
|
|
+++ b/arch/mips/bcm47xx/sprom.c
|
|
@@ -618,3 +618,15 @@ void bcm47xx_fill_sprom(struct ssb_sprom
|
|
bcm47xx_fill_sprom_r1(sprom, prefix);
|
|
}
|
|
}
|
|
+
|
|
+#ifdef CONFIG_BCM47XX_SSB
|
|
+void bcm47xx_fill_ssb_boardinfo(struct ssb_boardinfo *boardinfo,
|
|
+ const char *prefix)
|
|
+{
|
|
+ nvram_read_u16(prefix, NULL, "boardvendor", &boardinfo->vendor, 0);
|
|
+ if (!boardinfo->vendor)
|
|
+ boardinfo->vendor = SSB_BOARDVENDOR_BCM;
|
|
+
|
|
+ nvram_read_u16(prefix, NULL, "boardtype", &boardinfo->type, 0);
|
|
+}
|
|
+#endif
|
|
--- a/arch/mips/include/asm/mach-bcm47xx/bcm47xx.h
|
|
+++ b/arch/mips/include/asm/mach-bcm47xx/bcm47xx.h
|
|
@@ -47,4 +47,9 @@ extern enum bcm47xx_bus_type bcm47xx_bus
|
|
void bcm47xx_fill_sprom(struct ssb_sprom *sprom, const char *prefix);
|
|
void bcm47xx_fill_sprom_ethernet(struct ssb_sprom *sprom, const char *prefix);
|
|
|
|
+#ifdef CONFIG_BCM47XX_SSB
|
|
+void bcm47xx_fill_ssb_boardinfo(struct ssb_boardinfo *boardinfo,
|
|
+ const char *prefix);
|
|
+#endif
|
|
+
|
|
#endif /* __ASM_BCM47XX_H */
|