Hi Bjorn and Lorenzo, PCI drivers use highly similar code block to allocate IRQ domain which leads to code duplication than expected. This patchset adds a new helper, pci_alloc_intx_irqd(), to avoid that as much as possible. Just leave pcie-rockchip out now as it's under re-construct and will add incremental patch for it if this series looks ok and the pcie-rockchip ongoing patches got merge. Changes in v2: - fix typo and move the code to C file. Shawn Lin (9): PCI: Add pci_alloc_intx_irqd() for allocating IRQ domain PCI: dra7xx: Use pci_alloc_intx_irqd() helper to simplify the code PCI: keystone-dw: Use pci_alloc_intx_irqd() helper to get irq domain for INTx PCI: aardvark: Use pci_alloc_intx_irqd() helper to get irq domain for INTx PCI: faraday: Use pci_alloc_intx_irqd() helper to get irq domain for INTx PCI: altera: Use pci_alloc_intx_irqd() helper to get irq domain for INTx PCI: mediatek: Use pci_alloc_intx_irqd() helper to get irq domain for INTx PCI: xilinx-nwl: Use pci_alloc_intx_irqd() helper to get irq domain for INTx PCI: xilinx: Use pci_alloc_intx_irqd() helper to get irq domain for INTx drivers/pci/dwc/pci-dra7xx.c | 41 ++--------------------- drivers/pci/dwc/pci-keystone-dw.c | 12 +++---- drivers/pci/host/pci-aardvark.c | 24 +++----------- drivers/pci/host/pci-ftpci100.c | 15 +++------ drivers/pci/host/pcie-altera.c | 38 +++------------------ drivers/pci/host/pcie-mediatek.c | 29 ++-------------- drivers/pci/host/pcie-xilinx-nwl.c | 21 +++--------- drivers/pci/host/pcie-xilinx.c | 43 ++---------------------- drivers/pci/irq.c | 68 ++++++++++++++++++++++++++++++++++++++ include/linux/pci.h | 10 ++++++ 10 files changed, 108 insertions(+), 193 deletions(-) -- 1.9.1