| 1 | --- a/arch/mips/bcm63xx/boards/board_bcm963xx.c |
| 2 | +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c |
| 3 | @@ -2131,6 +2131,17 @@ static struct ssb_sprom bcm63xx_sprom = |
| 4 | .boardflags_lo = 0x2848, |
| 5 | .boardflags_hi = 0x0000, |
| 6 | }; |
| 7 | + |
| 8 | +int bcm63xx_get_fallback_sprom(struct ssb_bus *bus, struct ssb_sprom *out) |
| 9 | +{ |
| 10 | + if (bus->bustype == SSB_BUSTYPE_PCI) { |
| 11 | + memcpy(out, &bcm63xx_sprom, sizeof(struct ssb_sprom)); |
| 12 | + return 0; |
| 13 | + } else { |
| 14 | + printk(KERN_ERR PFX "unable to fill SPROM for given bustype.\n"); |
| 15 | + return -EINVAL; |
| 16 | + } |
| 17 | +} |
| 18 | #endif |
| 19 | |
| 20 | /* |
| 21 | @@ -2400,8 +2411,9 @@ int __init board_register_devices(void) |
| 22 | if (!board_get_mac_address(bcm63xx_sprom.il0mac)) { |
| 23 | memcpy(bcm63xx_sprom.et0mac, bcm63xx_sprom.il0mac, ETH_ALEN); |
| 24 | memcpy(bcm63xx_sprom.et1mac, bcm63xx_sprom.il0mac, ETH_ALEN); |
| 25 | - if (ssb_arch_set_fallback_sprom(&bcm63xx_sprom) < 0) |
| 26 | - printk(KERN_ERR "failed to register fallback SPROM\n"); |
| 27 | + if (ssb_arch_register_fallback_sprom( |
| 28 | + &bcm63xx_get_fallback_sprom) < 0) |
| 29 | + printk(KERN_ERR PFX "failed to register fallback SPROM\n"); |
| 30 | } |
| 31 | #endif |
| 32 | |
| 33 | |