2020-04-03 10:26:23 +00:00
|
|
|
--- 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>
|
2021-02-02 11:11:09 +00:00
|
|
|
@@ -388,7 +389,19 @@ struct fallback_sprom_match {
|
2020-04-03 10:26:23 +00:00
|
|
|
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)
|