]> git.baikalelectronics.ru Git - kernel.git/commit
PCI: aardvark: Move to struct pci_host_bridge IRQ mapping functions
authorThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Mon, 9 Oct 2017 07:00:49 +0000 (09:00 +0200)
committerBjorn Helgaas <bhelgaas@google.com>
Wed, 11 Oct 2017 02:17:43 +0000 (21:17 -0500)
commit90efba9823e676fc36675cb3708249e906e603d1
tree97bba4748b1597b2f1887e1eb16c5806f940185c
parentf3db8c62997d72d42c5fafd7a35489bb3e95282e
PCI: aardvark: Move to struct pci_host_bridge IRQ mapping functions

struct pci_host_bridge gained hooks to map/swizzle IRQs, so that the IRQ
mapping can be done automatically by PCI core code through the
pci_assign_irq() function instead of resorting to arch-specific
implementation callbacks to carry out the same task which force PCI host
bridge drivers implementation to implement per-arch kludges to carry out a
task that is inherently architecture agnostic.

Commit 408bffa960bf ("arm64: PCI: Drop DT IRQ allocation from
pcibios_alloc_irq()") was assuming all PCI host controller drivers had been
converted to use ->map_irq(), but that wasn't the case: pci-aardvark had
not been converted. Due to this, it broke the support for legacy PCI
interrupts when using the pci-aardvark driver (used on Marvell Armada 3720
platforms).

In order to fix this, we make sure the ->map_irq and ->swizzle_irq fields
of pci_host_bridge are properly filled in.

Fixes: 408bffa960bf ("arm64: PCI: Drop DT IRQ allocation from pcibios_alloc_irq()")
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Cc: stable@vger.kernel.org # v4.13+
drivers/pci/host/pci-aardvark.c