[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20140507153622.703412101@linutronix.de>
Date: Wed, 07 May 2014 15:44:03 -0000
From: Thomas Gleixner <tglx@...utronix.de>
To: LKML <linux-kernel@...r.kernel.org>
Cc: Ingo Molnar <mingo@...e.hu>, Peter Anvin <hpa@...or.com>,
Tony Luck <tony.luck@...el.com>,
Peter Zijlstra <peterz@...radead.org>
Subject: [patch 00/32] genirq: Another round of tree wide cleanups
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 majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists