PCI: xilinx: Don't call pci_fixup_irqs() on Microblaze
authorBharat Kumar Gogada <bharat.kumar.gogada@xilinx.com>
Thu, 11 Feb 2016 16:28:09 +0000 (21:58 +0530)
committerBjorn Helgaas <bhelgaas@google.com>
Tue, 8 Mar 2016 20:06:17 +0000 (14:06 -0600)
The Xilinx AXI PCIe Host Bridge Soft IP driver was previously only
supported on ARM (in particular, on ARCH_ZYNC), and pci_fixup_irqs() is
available there.  But Microblaze will do IRQ fixup in pcibios_add_device(),
so pci_fixup_irqs() is not available on Microblaze.

Don't call pci_fixup_irqs() on Microblaze, so the driver can work on both
Zynq and Microblaze Architectures.

[bhelgaas: revise changelog to show similarity to bdb8a1844f31 ("PCI: iproc: Call pci_fixup_irqs() for ARM64 as well as ARM")]
Signed-off-by: Bharat Kumar Gogada <bharatku@xilinx.com>
Signed-off-by: Ravi Kiran Gummaluri <rgummal@xilinx.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Michal Simek <michal.simek@xilinx.com>
drivers/pci/host/pcie-xilinx.c

index d21763d1a637749771978a4de986a46b2c5d0b13..65f0fe0c2eafb67141fd84f84b31285ff038c868 100644 (file)
@@ -705,7 +705,9 @@ static int xilinx_pcie_probe(struct platform_device *pdev)
 #endif
        pci_scan_child_bus(bus);
        pci_assign_unassigned_bus_resources(bus);
+#ifndef CONFIG_MICROBLAZE
        pci_fixup_irqs(pci_common_swizzle, of_irq_parse_and_map_pci);
+#endif
        pci_bus_add_devices(bus);
        platform_set_drvdata(pdev, port);