This cleanup series addresses a few histerical leftovers: 1) irq_reserve_irq()
The remaining callsites are pointless except s390, but we have a better way to protect the lower interrupt space there. It's gone for good and it will never come back. Use irq domains, if you want hot pluggable irq chips. 2) create/destroy_irq and their variants Designed in different circles of hell we have an incompatible zoo of those. Three different implementations with different semantics vs. the return values. Two use cases which are just reusing the global namespace. And they come along with four different flavours of dynamic irq allocation. I created a core implementation for that and put it under GENERIC_IRQ_LEGACY_ALLOC_HWIRQ to make clear that this is not for new code. That implementation is used by x86 and tile. I gave up on converting ia64 over, so I moved the create/destroy_irq prototypes into ia64 headers and provided a wrapper for the shared dmar driver. The core implementation is a very basic allocator and that's deliberately so. I don't want more users and every more complex than that wants to use irq domains. 3) dynamic_irq_init/cleanup Another leftover from the past. By moving tile and iop13xx to sparse irq there is only ia64 left. I simplified the code and made this available only under a legacy config option to avoid that more people think they need this. Full diffstat below. Thanks, tglx --- arch/arm/Kconfig | 1 arch/arm/mach-iop13xx/include/mach/irqs.h | 2 arch/arm/mach-iop13xx/include/mach/time.h | 3 arch/arm/mach-iop13xx/iq81340mc.c | 1 arch/arm/mach-iop13xx/iq81340sc.c | 1 arch/arm/mach-iop13xx/msi.c | 51 ++--------- arch/arm/mach-iop13xx/setup.c | 1 arch/arm/mach-iop13xx/tpmi.c | 1 arch/ia64/Kconfig | 1 arch/ia64/include/asm/hw_irq.h | 1 arch/ia64/include/asm/irq.h | 3 arch/ia64/include/asm/irq_remapping.h | 2 arch/ia64/kernel/iosapic.c | 2 arch/ia64/kernel/irq_ia64.c | 15 --- arch/mips/pci/msi-xlp.c | 10 -- arch/mips/pci/pci-xlr.c | 10 -- arch/s390/kernel/irq.c | 5 - arch/s390/pci/pci.c | 6 - arch/tile/Kconfig | 2 arch/tile/include/asm/irq.h | 6 - arch/tile/kernel/irq.c | 40 --------- arch/tile/kernel/pci_gx.c | 17 +-- arch/x86/Kconfig | 1 arch/x86/include/asm/io_apic.h | 2 arch/x86/include/asm/irq_remapping.h | 3 arch/x86/kernel/apic/io_apic.c | 130 +++++------------------------- arch/x86/kernel/hpet.c | 5 - arch/x86/platform/uv/uv_irq.c | 10 -- drivers/iommu/dmar.c | 8 - drivers/iommu/irq_remapping.c | 12 +- drivers/net/ethernet/tile/tilegx.c | 6 - drivers/pci/htirq.c | 13 --- drivers/sh/intc/core.c | 6 - drivers/tty/hvc/hvc_tile.c | 8 - drivers/tty/serial/tilegx.c | 8 - drivers/usb/host/ehci-tilegx.c | 8 - drivers/usb/host/ohci-tilegx.c | 8 - drivers/xen/events/events_base.c | 17 --- include/linux/irq.h | 38 +++----- kernel/irq/Kconfig | 9 ++ kernel/irq/chip.c | 5 - kernel/irq/internals.h | 6 + kernel/irq/irqdesc.c | 95 ++++++++++++++------- 43 files changed, 216 insertions(+), 363 deletions(-) -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/