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/

Reply via email to