OSDN Git Service

PCI: designware: Drop pci_fixup_irqs()
authorLorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Wed, 28 Jun 2017 20:14:07 +0000 (15:14 -0500)
committerBjorn Helgaas <bhelgaas@google.com>
Sun, 2 Jul 2017 21:51:18 +0000 (16:51 -0500)
Since, through struct pci_host_bridge.map/swizzle_irq hooks, IRQs are now
allocated in the pci_assign_irq() callback automatically, PCI host bridge
drivers can stop relying on pci_fixup_irqs() for IRQ allocation.

Drop pci_fixup_irqs() usage from PCI designware host bridge driver.

Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Cc: Jingoo Han <jingoohan1@gmail.com>
Cc: Joao Pinto <Joao.Pinto@synopsys.com>
drivers/pci/dwc/pcie-designware-host.c

index 351a277..d29c020 100644 (file)
@@ -410,6 +410,8 @@ int dw_pcie_host_init(struct pcie_port *pp)
        bridge->sysdata = pp;
        bridge->busnr = pp->root_bus_nr;
        bridge->ops = &dw_pcie_ops;
+       bridge->map_irq = of_irq_parse_and_map_pci;
+       bridge->swizzle_irq = pci_common_swizzle;
        if (IS_ENABLED(CONFIG_PCI_MSI)) {
                bridge->msi = &dw_pcie_msi_chip;
                dw_pcie_msi_chip.dev = dev;
@@ -424,11 +426,6 @@ int dw_pcie_host_init(struct pcie_port *pp)
        if (pp->ops->scan_bus)
                pp->ops->scan_bus(pp);
 
-#ifdef CONFIG_ARM
-       /* support old dtbs that incorrectly describe IRQs */
-       pci_fixup_irqs(pci_common_swizzle, of_irq_parse_and_map_pci);
-#endif
-
        pci_bus_size_bridges(bus);
        pci_bus_assign_resources(bus);