| 1 | --- a/arch/mips/bcm47xx/setup.c |
| 2 | +++ b/arch/mips/bcm47xx/setup.c |
| 3 | @@ -190,6 +190,8 @@ static void __init bcm47xx_register_bcma |
| 4 | err = bcma_host_soc_register(&bcm47xx_bus.bcma); |
| 5 | if (err) |
| 6 | panic("Failed to initialize BCMA bus (err %d)", err); |
| 7 | + |
| 8 | + bcm47xx_fill_bcma_boardinfo(&bcm47xx_bus.bcma.bus.boardinfo, NULL); |
| 9 | } |
| 10 | #endif |
| 11 | |
| 12 | --- a/arch/mips/bcm47xx/sprom.c |
| 13 | +++ b/arch/mips/bcm47xx/sprom.c |
| 14 | @@ -630,3 +630,15 @@ void bcm47xx_fill_ssb_boardinfo(struct s |
| 15 | nvram_read_u16(prefix, NULL, "boardtype", &boardinfo->type, 0); |
| 16 | } |
| 17 | #endif |
| 18 | + |
| 19 | +#ifdef CONFIG_BCM47XX_BCMA |
| 20 | +void bcm47xx_fill_bcma_boardinfo(struct bcma_boardinfo *boardinfo, |
| 21 | + const char *prefix) |
| 22 | +{ |
| 23 | + nvram_read_u16(prefix, NULL, "boardvendor", &boardinfo->vendor, 0); |
| 24 | + if (!boardinfo->vendor) |
| 25 | + boardinfo->vendor = SSB_BOARDVENDOR_BCM; |
| 26 | + |
| 27 | + nvram_read_u16(prefix, NULL, "boardtype", &boardinfo->type, 0); |
| 28 | +} |
| 29 | +#endif |
| 30 | --- a/arch/mips/include/asm/mach-bcm47xx/bcm47xx.h |
| 31 | +++ b/arch/mips/include/asm/mach-bcm47xx/bcm47xx.h |
| 32 | @@ -51,5 +51,9 @@ void bcm47xx_fill_sprom_ethernet(struct |
| 33 | void bcm47xx_fill_ssb_boardinfo(struct ssb_boardinfo *boardinfo, |
| 34 | const char *prefix); |
| 35 | #endif |
| 36 | +#ifdef CONFIG_BCM47XX_BCMA |
| 37 | +void bcm47xx_fill_bcma_boardinfo(struct bcma_boardinfo *boardinfo, |
| 38 | + const char *prefix); |
| 39 | +#endif |
| 40 | |
| 41 | #endif /* __ASM_BCM47XX_H */ |
| 42 | |