OpenWrt
/branches/18.06.1/target/linux/brcm63xx/patches-4.14/801-ssb_export_fallback_sprom.patch |
@@ -0,0 +1,31 @@ |
--- a/arch/mips/bcm63xx/sprom.c |
+++ b/arch/mips/bcm63xx/sprom.c |
@@ -8,6 +8,7 @@ |
*/ |
|
#include <linux/init.h> |
+#include <linux/export.h> |
#include <linux/kernel.h> |
#include <linux/string.h> |
#include <linux/platform_device.h> |
@@ -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; |
+ |
+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) |