linux/arch
Grant Likely 08a543ad33 irq: add irq_domain translation infrastructure
This patch adds irq_domain infrastructure for translating from
hardware irq numbers to linux irqs.  This is particularly important
for architectures adding device tree support because the current
implementation (excluding PowerPC and SPARC) cannot handle
translation for more than a single interrupt controller.  irq_domain
supports device tree translation for any number of interrupt
controllers.

This patch converts x86, Microblaze, ARM and MIPS to use irq_domain
for device tree irq translation.  x86 is untested beyond compiling it,
irq_domain is enabled for MIPS and Microblaze, but the old behaviour is
preserved until the core code is modified to actually register an
irq_domain yet.  On ARM it works and is required for much of the new
ARM device tree board support.

PowerPC has /not/ been converted to use this new infrastructure.  It
is still missing some features before it can replace the virq
infrastructure already in powerpc (see documentation on
irq_domain_map/unmap for details).  Followup patches will add the
missing pieces and migrate PowerPC to use irq_domain.

SPARC has its own method of managing interrupts from the device tree
and is unaffected by this change.

Acked-by: Ralf Baechle <ralf@linux-mips.org>
Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
2011-07-28 01:32:04 -06:00
..
alpha modules: make arch's use default loader hooks 2011-07-24 22:06:04 +09:30
arm irq: add irq_domain translation infrastructure 2011-07-28 01:32:04 -06:00
avr32 Merge branch 'for-upstream' of git://openrisc.net/jonas/linux 2011-07-24 09:55:18 -07:00
blackfin modules: make arch's use default loader hooks 2011-07-24 22:06:04 +09:30
cris modules: make arch's use default loader hooks 2011-07-24 22:06:04 +09:30
frv modules: make arch's use default loader hooks 2011-07-24 22:06:04 +09:30
h8300 modules: make arch's use default loader hooks 2011-07-24 22:06:04 +09:30
ia64 Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus 2011-07-24 09:54:54 -07:00
m32r Merge branch 'for-upstream' of git://openrisc.net/jonas/linux 2011-07-24 09:55:18 -07:00
m68k modules: make arch's use default loader hooks 2011-07-24 22:06:04 +09:30
microblaze modules: make arch's use default loader hooks 2011-07-24 22:06:04 +09:30
mips modules: make arch's use default loader hooks 2011-07-24 22:06:04 +09:30
mn10300 modules: make arch's use default loader hooks 2011-07-24 22:06:04 +09:30
openrisc OpenRISC: Miscellaneous 2011-07-22 18:46:41 +02:00
parisc modules: make arch's use default loader hooks 2011-07-24 22:06:04 +09:30
powerpc Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus 2011-07-24 09:54:54 -07:00
s390 Merge branch 'for-linus' of git://git390.marist.edu/pub/scm/linux-2.6 2011-07-24 09:55:45 -07:00
score modules: make arch's use default loader hooks 2011-07-24 22:06:04 +09:30
sh Merge branch 'for-upstream' of git://openrisc.net/jonas/linux 2011-07-24 09:55:18 -07:00
sparc modules: make arch's use default loader hooks 2011-07-24 22:06:04 +09:30
tile modules: make arch's use default loader hooks 2011-07-24 22:06:04 +09:30
um Merge branches 'x86-urgent-for-linus', 'core-debug-for-linus', 'irq-core-for-linus' and 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip 2011-07-23 10:33:08 -07:00
unicore32 modules: make arch's use default loader hooks 2011-07-24 22:06:04 +09:30
x86 Merge branch 'for-upstream' of git://openrisc.net/jonas/linux 2011-07-24 09:55:18 -07:00
xtensa modules: make arch's use default loader hooks 2011-07-24 22:06:04 +09:30
.gitignore
Kconfig