From: Thomas Gleixner <tglx@linutronix.de>
To: LKML <linux-kernel@vger.kernel.org>
Cc: Ingo Molnar <mingo@elte.hu>, Peter Anvin <hpa@zytor.com>,
Tony Luck <tony.luck@intel.com>,
Peter Zijlstra <peterz@infradead.org>
Subject: [patch 00/32] genirq: Another round of tree wide cleanups
Date: Wed, 07 May 2014 15:44:03 -0000 [thread overview]
Message-ID: <20140507153622.703412101@linutronix.de> (raw)
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(-)
next reply other threads:[~2014-05-07 15:43 UTC|newest]
Thread overview: 86+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-05-07 15:44 Thomas Gleixner [this message]
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 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 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 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 05/32] x86: irq_remapping: Use irq_alloc/free_hwirq() 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 06/32] x86: hpet: " 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: " Thomas Gleixner
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 09/32] x86: ioapic: Use irq_alloc/free_hwirq() Thomas Gleixner
2014-05-16 13:33 ` [tip:irq/core] " 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 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 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 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 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 17/32] tile: net: " 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 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 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 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 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 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 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
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20140507153622.703412101@linutronix.de \
--to=tglx@linutronix.de \
--cc=hpa@zytor.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=peterz@infradead.org \
--cc=tony.luck@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome