[Patch v2 0/4] Introduce a mechanism to allocate PCI IRQ on demand

Jiang Liu
2015-06-02T02:47:28Z

This patch set introduces a mechanism to allocate PCI IRQ on demand and
free it when not used anymore by hooking pci_device_probe() and
pci_device_remove().

It will be used to track IOAPIC pin usage on x86 so we could support
IOAPIC hot-removal.

The patch set passes Fengguang's 0day test suite.

V1->V2:
1) Refine pci_device_probe() to optimize for mainline code as suggested
by Bjorn
2) Reorder patch set to put optional patch as the last (Patch 4)

Thanks!
Gerry

Jiang Liu (4):
PCI: Add hooks to allocate/free IRQ resources when binding/unbinding
driver
PCI, x86: Allocate PCI IRQ on demand and free it when not used
anymore
PCI: Introduce helpers to manage pci_dev->irq and
pci_dev->irq_managed
PCI, MSI: Optionally free legacy PCI IRQ when enabling MSI/MSI-X

arch/x86/include/asm/pci_x86.h | 2 --
arch/x86/pci/common.c | 20 +++++++++-----------
arch/x86/pci/intel_mid_pci.c | 9 ++++++---
arch/x86/pci/irq.c | 23 ++++-------------------
drivers/acpi/pci_irq.c | 17 ++++-------------
drivers/pci/msi.c | 6 +++++-
drivers/pci/pci-driver.c | 26 ++++++++++++++++++++------
include/linux/pci.h | 19 +++++++++++++++++++
8 files changed, 67 insertions(+), 55 deletions(-)

--
1.7.10.4