2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2024-12-22 20:23:57 +08:00

arm64: PCI: Drop DT IRQ allocation from pcibios_alloc_irq()

With the introduction of struct pci_host_bridge.map_irq pointer it is
possible to assign IRQs for all devices originating from a PCI host bridge
at probe time; this is implemented through pci_assign_irq() that relies on
the struct pci_host_bridge.map_irq pointer to map IRQ for a given device.

The benefits this brings are twofold:

  - the IRQ for a device is assigned once at probe time
  - the IRQ assignment works also for hotplugged devices

With all DT based PCI host bridges converted to the struct
pci_host_bridge.{map/swizzle}_irq hooks mechanism the DT IRQ allocation in
ARM64 pcibios_alloc_irq() is now redundant and can be removed.

Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Acked-by: Will Deacon <will.deacon@arm.com>
This commit is contained in:
Lorenzo Pieralisi 2017-06-28 15:14:12 -05:00 committed by Bjorn Helgaas
parent 1ee4d93d50
commit 769b461fc0

View File

@ -39,20 +39,18 @@ resource_size_t pcibios_align_resource(void *data, const struct resource *res,
return res->start; return res->start;
} }
#ifdef CONFIG_ACPI
/* /*
* Try to assign the IRQ number when probing a new device * Try to assign the IRQ number when probing a new device
*/ */
int pcibios_alloc_irq(struct pci_dev *dev) int pcibios_alloc_irq(struct pci_dev *dev)
{ {
if (acpi_disabled) if (!acpi_disabled)
dev->irq = of_irq_parse_and_map_pci(dev, 0, 0); acpi_pci_irq_enable(dev);
#ifdef CONFIG_ACPI
else
return acpi_pci_irq_enable(dev);
#endif
return 0; return 0;
} }
#endif
/* /*
* raw_pci_read/write - Platform-specific PCI config space access. * raw_pci_read/write - Platform-specific PCI config space access.