diff options
author | Bjorn Helgaas <bhelgaas@google.com> | 2017-09-07 13:24:16 -0500 |
---|---|---|
committer | Bjorn Helgaas <bhelgaas@google.com> | 2017-09-07 13:24:16 -0500 |
commit | d4fdf844c9c3debc080aea1be8b71d9d0aaa01dc (patch) | |
tree | da9fa2b768f822194e33b49e1c913c0a6eec9368 /drivers | |
parent | cf5f9cc8e4e5e8e0ecc35f1c904d98f889be2c0f (diff) | |
parent | 606799cc5049ae4ccb51ba3242365ca2d411da13 (diff) |
Merge branch 'pci/irq-fixups' into next
* pci/irq-fixups:
PCI: Inline and remove pcibios_update_irq()
PCI: Remove unused pci_fixup_irqs() function
sparc/PCI: Replace pci_fixup_irqs() call with host bridge IRQ mapping hooks
unicore32/PCI: Replace pci_fixup_irqs() call with host bridge IRQ mapping hooks
tile/PCI: Replace pci_fixup_irqs() call with host bridge IRQ mapping hooks
MIPS: PCI: Replace pci_fixup_irqs() call with host bridge IRQ mapping hooks
m68k/PCI: Replace pci_fixup_irqs() call with host bridge IRQ mapping hooks
alpha/PCI: Replace pci_fixup_irqs() call with host bridge IRQ mapping hooks
sh/PCI: Replace pci_fixup_irqs() call with host bridge IRQ mapping hooks
sh/PCI: Remove __init optimisations from IRQ mapping functions/data
MIPS: PCI: Fix pcibios_scan_bus() NULL check code path
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/pci/setup-irq.c | 32 |
1 files changed, 1 insertions, 31 deletions
diff --git a/drivers/pci/setup-irq.c b/drivers/pci/setup-irq.c index 81eda3d93a5d..86106c44ce94 100644 --- a/drivers/pci/setup-irq.c +++ b/drivers/pci/setup-irq.c @@ -17,12 +17,6 @@ #include <linux/cache.h> #include "pci.h" -void __weak pcibios_update_irq(struct pci_dev *dev, int irq) -{ - dev_dbg(&dev->dev, "assigning IRQ %02d\n", irq); - pci_write_config_byte(dev, PCI_INTERRUPT_LINE, irq); -} - void pci_assign_irq(struct pci_dev *dev) { u8 pin; @@ -65,29 +59,5 @@ void pci_assign_irq(struct pci_dev *dev) /* Always tell the device, so the driver knows what is the real IRQ to use; the device does not use it. */ - pcibios_update_irq(dev, irq); -} - -void pci_fixup_irqs(u8 (*swizzle)(struct pci_dev *, u8 *), - int (*map_irq)(const struct pci_dev *, u8, u8)) -{ - /* - * Implement pci_fixup_irqs() through pci_assign_irq(). - * This code should be remove eventually, it is a wrapper - * around pci_assign_irq() interface to keep current - * pci_fixup_irqs() behaviour unchanged on architecture - * code still relying on its interface. - */ - struct pci_dev *dev = NULL; - struct pci_host_bridge *hbrg = NULL; - - for_each_pci_dev(dev) { - hbrg = pci_find_host_bridge(dev->bus); - hbrg->swizzle_irq = swizzle; - hbrg->map_irq = map_irq; - pci_assign_irq(dev); - hbrg->swizzle_irq = NULL; - hbrg->map_irq = NULL; - } + pci_write_config_byte(dev, PCI_INTERRUPT_LINE, irq); } -EXPORT_SYMBOL_GPL(pci_fixup_irqs); |