1
0
mirror of git://projects.qi-hardware.com/openwrt-xburst.git synced 2024-11-14 07:28:28 +02:00
openwrt-xburst/target/linux/brcm63xx/patches-2.6.39/500-ssb-add-callback-for-sprom.patch
florian e386996557 [brcm63xx] improve BCM6345 support
- runtime detect the amount of memory available
- define EBI_BASE as MPI_BASE to get rid of chip-select specific hacks
- fix GPIO control

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@27880 3c298f89-4303-0410-b956-a3cf2f4a3e73
2011-08-02 18:55:46 +00:00

33 lines
1.0 KiB
Diff

--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
+++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
@@ -2131,6 +2131,17 @@ static struct ssb_sprom bcm63xx_sprom =
.boardflags_lo = 0x2848,
.boardflags_hi = 0x0000,
};
+
+int bcm63xx_get_fallback_sprom(struct ssb_bus *bus, struct ssb_sprom *out)
+{
+ if (bus->bustype == SSB_BUSTYPE_PCI) {
+ memcpy(out, &bcm63xx_sprom, sizeof(struct ssb_sprom));
+ return 0;
+ } else {
+ printk(KERN_ERR PFX "unable to fill SPROM for given bustype.\n");
+ return -EINVAL;
+ }
+}
#endif
/*
@@ -2400,8 +2411,9 @@ int __init board_register_devices(void)
if (!board_get_mac_address(bcm63xx_sprom.il0mac)) {
memcpy(bcm63xx_sprom.et0mac, bcm63xx_sprom.il0mac, ETH_ALEN);
memcpy(bcm63xx_sprom.et1mac, bcm63xx_sprom.il0mac, ETH_ALEN);
- if (ssb_arch_set_fallback_sprom(&bcm63xx_sprom) < 0)
- printk(KERN_ERR "failed to register fallback SPROM\n");
+ if (ssb_arch_register_fallback_sprom(
+ &bcm63xx_get_fallback_sprom) < 0)
+ printk(KERN_ERR PFX "failed to register fallback SPROM\n");
}
#endif