From b61f57a5c7ba71b0b4b5af2e96afbcb47f698b83 Mon Sep 17 00:00:00 2001
From: Jonas Gorski <jogo@openwrt.org>
Date: Mon, 11 Aug 2014 11:36:41 +0000
Subject: [PATCH] brcm63xx: correctly export fallback sprom for brcm-wl
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

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

SVN-Revision: 42118
---
 .../801-ssb_export_fallback_sprom.patch           | 15 +++++++++++++--
 1 file changed, 13 insertions(+), 2 deletions(-)

diff --git a/target/linux/brcm63xx/patches-3.14/801-ssb_export_fallback_sprom.patch b/target/linux/brcm63xx/patches-3.14/801-ssb_export_fallback_sprom.patch
index 4acf40d627..11a83536b7 100644
--- a/target/linux/brcm63xx/patches-3.14/801-ssb_export_fallback_sprom.patch
+++ b/target/linux/brcm63xx/patches-3.14/801-ssb_export_fallback_sprom.patch
@@ -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)
-- 
GitLab