@@ -850,12 +850,16 @@ void pcibios_setup_bus_devices(struct pci_bus *bus)
* code and is needed by the DMA init
*/
set_dev_node(&dev->dev, pcibus_to_node(dev->bus));
-
- /* Read default IRQs and fixup if necessary */
- dev->irq = of_irq_parse_and_map_pci(dev, 0, 0);
}
}
+int pcibios_root_bridge_prepare(struct pci_host_bridge *bridge)
+{
+ bridge->swizzle_irq = NULL;
+ bridge->map_irq = of_irq_parse_and_map_pci;
+ return 0;
+}
+
void pcibios_fixup_bus(struct pci_bus *bus)
{
/* When called from the generic PCI probe, read PCI<->PCI bridge
From: Matthew Minter <matt@masarand.com> Currently microblaze assigns PCI IRQs during the pcibios phase, this means that devices connected after boot will not be assigned an IRQ, instead the boot code now registers IRQ assignment functions to be called later by the device enable code paths. --- arch/microblaze/pci/pci-common.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-)