linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [patch 00/32] genirq: Another round of tree wide cleanups
@ 2014-05-07 15:44 Thomas Gleixner
  2014-05-07 15:44 ` [patch 01/32] arm: iop13xx: Use sparse irqs for MSI Thomas Gleixner
                   ` (32 more replies)
  0 siblings, 33 replies; 86+ messages in thread
From: Thomas Gleixner @ 2014-05-07 15:44 UTC (permalink / raw)
  To: LKML; +Cc: Ingo Molnar, Peter Anvin, Tony Luck, Peter Zijlstra

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(-)




^ permalink raw reply	[flat|nested] 86+ messages in thread

end of thread, other threads:[~2014-05-16 14:03 UTC | newest]

Thread overview: 86+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2014-05-07 15:44 [patch 00/32] genirq: Another round of tree wide cleanups Thomas Gleixner
2014-05-07 15:44 ` [patch 01/32] arm: iop13xx: Use sparse irqs for MSI Thomas Gleixner
2014-05-16 13:31   ` [tip:irq/core] " tip-bot for Thomas Gleixner
2014-05-07 15:44 ` [patch 02/32] mips: Kill pointless destroy_irq() Thomas Gleixner
2014-05-16 13:31   ` [tip:irq/core] " tip-bot for Thomas Gleixner
2014-05-07 15:44 ` [patch 03/32] genirq: Provide generic hwirq allocation facility Thomas Gleixner
2014-05-07 20:37   ` Chris Metcalf
2014-05-07 23:15     ` Thomas Gleixner
2014-05-08 10:22       ` Thomas Gleixner
2014-05-13 16:59         ` Thomas Gleixner
2014-05-13 17:48           ` Luck, Tony
2014-05-14 17:57       ` Chris Metcalf
2014-05-14 23:57         ` Thomas Gleixner
2014-05-08 12:07   ` Grant Likely
2014-05-08 13:12     ` Thomas Gleixner
2014-05-14 17:44   ` Chris Metcalf
2014-05-14 23:47     ` Thomas Gleixner
2014-05-16 13:31   ` [tip:irq/core] " tip-bot for Thomas Gleixner
2014-05-07 15:44 ` [patch 04/32] x86: Implement arch_setup/teardown_hwirq() Thomas Gleixner
2014-05-16 13:31   ` [tip:irq/core] " tip-bot for Thomas Gleixner
2014-05-07 15:44 ` [patch 06/32] x86: hpet: Use irq_alloc/free_hwirq() Thomas Gleixner
2014-05-16 13:32   ` [tip:irq/core] " tip-bot for Thomas Gleixner
2014-05-07 15:44 ` [patch 05/32] x86: irq_remapping: " Thomas Gleixner
2014-05-14  9:32   ` Joerg Roedel
2014-05-16 13:32   ` [tip:irq/core] " tip-bot for Thomas Gleixner
2014-05-07 15:44 ` [patch 08/32] x86: htirq: Use irq_alloc/free_irq() Thomas Gleixner
2014-05-07 16:03   ` Bjorn Helgaas
2014-05-07 16:30     ` Thomas Gleixner
2014-05-16 13:32   ` [tip:irq/core] " tip-bot for Thomas Gleixner
2014-05-07 15:44 ` [patch 07/32] x86: uv: Use irq_alloc/free_hwirq() Thomas Gleixner
2014-05-16 13:32   ` [tip:irq/core] " tip-bot for Thomas Gleixner
2014-05-07 15:44 ` [patch 09/32] x86: ioapic: " Thomas Gleixner
2014-05-16 13:33   ` [tip:irq/core] " tip-bot for Thomas Gleixner
2014-05-07 15:44 ` [patch 11/32] iommu: dmar: Fix return value check of create_irq() Thomas Gleixner
2014-05-16 13:33   ` [tip:irq/core] iommu: smar: Fix return value check of create_irq( ) tip-bot for Thomas Gleixner
2014-05-07 15:44 ` [patch 10/32] x86: Get rid of get_nr_irqs_gsi() Thomas Gleixner
2014-05-16 13:33   ` [tip:irq/core] " tip-bot for Thomas Gleixner
2014-05-07 15:44 ` [patch 13/32] ia64: Remove unused check_irq_used() Thomas Gleixner
2014-05-16 13:33   ` [tip:irq/core] " tip-bot for Thomas Gleixner
2014-05-07 15:44 ` [patch 12/32] iommu: dmar: Provide arch specific irq allocation Thomas Gleixner
2014-05-16 13:33   ` [tip:irq/core] " tip-bot for Thomas Gleixner
2014-05-07 15:44 ` [patch 14/32] x86: Remove create/dstroy_irq() Thomas Gleixner
2014-05-16 13:34   ` [tip:irq/core] x86: Remove create/destroy_irq() tip-bot for Thomas Gleixner
2014-05-07 15:44 ` [patch 16/32] tile: usb: Use irq_alloc/free_hwirq Thomas Gleixner
2014-05-16 13:34   ` [tip:irq/core] " tip-bot for Thomas Gleixner
2014-05-07 15:44 ` [patch 15/32] tile: Implement irq_alloc/free_hwirq() for migration Thomas Gleixner
2014-05-14 17:48   ` Chris Metcalf
     [not found]   ` <5373AC00.7090507@tilera.com>
2014-05-14 23:50     ` Thomas Gleixner
2014-05-16 13:34   ` [tip:irq/core] " tip-bot for Thomas Gleixner
2014-05-07 15:44 ` [patch 17/32] tile: net: Use irq_alloc/free_hwirq Thomas Gleixner
2014-05-16 13:34   ` [tip:irq/core] " tip-bot for Thomas Gleixner
2014-05-07 15:44 ` [patch 18/32] tile: serial: " Thomas Gleixner
2014-05-16 13:34   ` [tip:irq/core] " tip-bot for Thomas Gleixner
2014-05-07 15:44 ` [patch 19/32] tile: hvc: " Thomas Gleixner
2014-05-16 13:35   ` [tip:irq/core] " tip-bot for Thomas Gleixner
2014-05-07 15:44 ` [patch 20/32] tile: pci: Use irq_alloc/free_hwirq() Thomas Gleixner
2014-05-16 13:35   ` [tip:irq/core] " tip-bot for Thomas Gleixner
2014-05-07 15:44 ` [patch 21/32] tile: Use SPARSE_IRQ Thomas Gleixner
2014-05-16 13:35   ` [tip:irq/core] " tip-bot for Thomas Gleixner
2014-05-07 15:44 ` [patch 22/32] genirq: Make create/destroy_irq() ia64 private Thomas Gleixner
2014-05-16 13:35   ` [tip:irq/core] " tip-bot for Thomas Gleixner
2014-05-07 15:44 ` [patch 23/32] x86, irq: Remove pointless irq_reserve_irqs() call Thomas Gleixner
2014-05-16 13:36   ` [tip:irq/core] " tip-bot for Thomas Gleixner
2014-05-07 15:44 ` [patch 24/32] sh: intc: Remove pointless irq_reserve_irqs() invocation Thomas Gleixner
2014-05-11  0:53   ` Simon Horman
2014-05-16 13:36   ` [tip:irq/core] " tip-bot for Thomas Gleixner
2014-05-07 15:44 ` [patch 25/32] s390: pci: Check return value of alloc_irq_desc() proper Thomas Gleixner
2014-05-16 13:36   ` [tip:irq/core] " tip-bot for Thomas Gleixner
2014-05-07 15:44 ` [patch 26/32] s390: Remove pointless arch_show_interrupts() Thomas Gleixner
2014-05-16 13:36   ` [tip:irq/core] " tip-bot for Thomas Gleixner
2014-05-07 15:44 ` [patch 27/32] s390: Avoid call to irq_reserve_irqs() Thomas Gleixner
2014-05-16 13:36   ` [tip:irq/core] " tip-bot for Thomas Gleixner
2014-05-07 15:44 ` [patch 28/32] genirq: Replace reserve_irqs in core code Thomas Gleixner
2014-05-16 13:37   ` [tip:irq/core] " tip-bot for Thomas Gleixner
2014-05-07 15:44 ` [patch 29/32] genirq: Remove irq_reserve_irq[s] Thomas Gleixner
2014-05-08 12:14   ` Grant Likely
2014-05-08 12:54     ` Thomas Gleixner
2014-05-16 13:37   ` [tip:irq/core] " tip-bot for Thomas Gleixner
2014-05-07 15:44 ` [patch 30/32] genirq: Replace dynamic_irq_init/cleanup Thomas Gleixner
2014-05-16 13:37   ` [tip:irq/core] " tip-bot for Thomas Gleixner
2014-05-07 15:44 ` [patch 31/32] ia64: Use irq_init_desc Thomas Gleixner
2014-05-07 20:06   ` Luck, Tony
2014-05-16 13:37   ` [tip:irq/core] " tip-bot for Thomas Gleixner
2014-05-07 15:44 ` [patch 32/32] genirq: Remove dynamic_irq mess Thomas Gleixner
2014-05-16 13:37   ` [tip:irq/core] " tip-bot for Thomas Gleixner
2014-05-08 12:17 ` [patch 00/32] genirq: Another round of tree wide cleanups Grant Likely

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).