brcm63xx: correctly export fallback sprom for brcm-wl

Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>

git-svn-id: svn://svn.openwrt.org/openwrt/trunk@42118 3c298f89-4303-0410-b956-a3cf2f4a3e73
master
Jonas Gorski 2014-08-11 11:36:41 +00:00
parent 2e6a1f0110
commit 647c40e6dc
1 changed files with 13 additions and 2 deletions

View File

@ -8,13 +8,24 @@
#include <linux/kernel.h>
#include <linux/string.h>
#include <linux/platform_device.h>
@@ -387,7 +388,8 @@ struct fallback_sprom_match {
@@ -387,7 +388,19 @@ struct fallback_sprom_match {
struct ssb_sprom sprom;
};
-static struct fallback_sprom_match fallback_sprom;
+struct fallback_sprom_match fallback_sprom;
+EXPORT_SYMBOL(fallback_sprom);
+
+int bcm63xx_get_fallback_sprom(uint pci_bus, uint pci_slot, struct ssb_sprom *out)
+{
+ if (pci_bus != fallback_sprom.pci_bus ||
+ pci_slot != fallback_sprom.pci_dev)
+ pr_warn("fallback_sprom: pci bus/device num mismatch: expected %i/%i, but got %i/%i\n",
+ fallback_sprom.pci_bus, fallback_sprom.pci_dev,
+ pci_bus, pci_slot);
+ memcpy(out, &fallback_sprom.sprom, sizeof(struct ssb_sprom));
+ return 0;
+}
+EXPORT_SYMBOL(bcm63xx_get_fallback_sprom);
#if defined(CONFIG_SSB_PCIHOST)
int bcm63xx_get_fallback_ssb_sprom(struct ssb_bus *bus, struct ssb_sprom *out)