-- ssb_pcicore_fix_sprom_core_index(pc);
-+ struct ssb_device *pdev = pc->dev;
-+ struct ssb_bus *bus = pdev->bus;
-+
-+ if (bus->bustype == SSB_BUSTYPE_PCI)
-+ ssb_pcicore_fix_sprom_core_index(pc);
-
- /* Disable PCI interrupts. */
-- ssb_write32(pc->dev, SSB_INTVEC, 0);
-+ ssb_write32(pdev, SSB_INTVEC, 0);
-
- /* Additional PCIe always once-executed workarounds */
- if (pc->dev->id.coreid == SSB_DEV_PCIE) {
-@@ -529,7 +533,7 @@ static void ssb_pcicore_init_clientmode(
- }
- }
-
--void ssb_pcicore_init(struct ssb_pcicore *pc)
-+void __devinit ssb_pcicore_init(struct ssb_pcicore *pc)
- {
- struct ssb_device *dev = pc->dev;
-