diff options
Diffstat (limited to 'target/linux/bcm63xx/patches-5.10/366-MIPS-BCM63XX-fallback-sprom-override-devid.patch')
-rw-r--r-- | target/linux/bcm63xx/patches-5.10/366-MIPS-BCM63XX-fallback-sprom-override-devid.patch | 78 |
1 files changed, 0 insertions, 78 deletions
diff --git a/target/linux/bcm63xx/patches-5.10/366-MIPS-BCM63XX-fallback-sprom-override-devid.patch b/target/linux/bcm63xx/patches-5.10/366-MIPS-BCM63XX-fallback-sprom-override-devid.patch deleted file mode 100644 index 31641aeff2..0000000000 --- a/target/linux/bcm63xx/patches-5.10/366-MIPS-BCM63XX-fallback-sprom-override-devid.patch +++ /dev/null @@ -1,78 +0,0 @@ ---- a/arch/mips/bcm63xx/sprom.c -+++ b/arch/mips/bcm63xx/sprom.c -@@ -384,6 +384,7 @@ static __initconst u16 bcm4331_sprom[] = - struct fallback_sprom_match { - u8 pci_bus; - u8 pci_dev; -+ int override_devid; - struct ssb_sprom sprom; - }; - -@@ -399,6 +400,8 @@ int bcm63xx_get_fallback_ssb_sprom(struc - fallback_sprom.pci_bus, fallback_sprom.pci_dev, - bus->host_pci->bus->number, - PCI_SLOT(bus->host_pci->devfn)); -+ if (fallback_sprom.override_devid) -+ bus->host_pci->device = fallback_sprom.sprom.dev_id; - memcpy(out, &fallback_sprom.sprom, sizeof(struct ssb_sprom)); - return 0; - } else { -@@ -418,6 +421,8 @@ int bcm63xx_get_fallback_bcma_sprom(stru - fallback_sprom.pci_bus, fallback_sprom.pci_dev, - bus->host_pci->bus->number, - PCI_SLOT(bus->host_pci->devfn)); -+ if (fallback_sprom.override_devid) -+ bus->host_pci->device = fallback_sprom.sprom.dev_id; - memcpy(out, &fallback_sprom.sprom, sizeof(struct ssb_sprom)); - return 0; - } else { -@@ -965,6 +970,37 @@ static int sprom_extract(struct ssb_spro - return 0; - } - -+int sprom_override_devid(struct fallback_sprom_data *data, -+ struct ssb_sprom *out, const u16 *in) -+{ -+ switch (data->type) { -+#if defined(CONFIG_SSB_PCIHOST) -+ case SPROM_BCM4306: -+ case SPROM_BCM4318: -+ case SPROM_BCM4321: -+ case SPROM_BCM4322: -+ case SPROM_BCM43222: -+ SPEX(dev_id, SSB_SPROM1_PID, 0xFFFF, 0); -+ return !!out->dev_id; -+#endif /* CONFIG_SSB_PCIHOST */ -+#if defined(CONFIG_BCMA_HOST_PCI) -+ case SPROM_BCM4313: -+ case SPROM_BCM43131: -+ case SPROM_BCM43217: -+ case SPROM_BCM43225: -+ case SPROM_BCM43227: -+ case SPROM_BCM43228: -+ case SPROM_BCM4331: -+ SPEX(dev_id, 0x0060, 0xFFFF, 0); -+ return !!out->dev_id; -+#endif /* CONFIG_BCMA_HOST_PCI */ -+ case SPROM_DEFAULT: -+ return 0; -+ } -+ -+ return 0; -+} -+ - void sprom_apply_fixups(u16 *sprom, struct sprom_fixup *fixups, int n) - { - unsigned int i; -@@ -1056,6 +1092,11 @@ int __init bcm63xx_register_fallback_spr - data->num_board_fixups); - - sprom_extract(&fallback_sprom.sprom, template_sprom, size); -+ -+ fallback_sprom.override_devid = -+ sprom_override_devid(data, &fallback_sprom.sprom, template_sprom); -+ } else { -+ fallback_sprom.override_devid = 0; - } - - memcpy(fallback_sprom.sprom.il0mac, data->mac_addr, ETH_ALEN); |