linux/drivers/sh
Paul Mundt c1e30ad98f sh: intc: Support virtual mappings for IRQ subgroups.
Many interrupts that share a single mask source but are on different
hardware vectors will have an associated register tied to an INTEVT that
denotes the precise cause for the interrupt exception being triggered.

This introduces the concept of IRQ subgroups in the intc core, where
a virtual IRQ map is constructed for each of the pre-defined cause bits,
and a higher level chained handler takes control of the parent INTEVT.
This enables CPUs with heavily muxed IRQ vectors (especially across
disjoint blocks) to break things out in to a series of managed chained
handlers while being able to dynamically lookup and adopt the IRQs
created for them.

This is largely an opt-in interface, requiring CPUs to manually submit
IRQs for subgroup splitting, in addition to providing identifiers in
their enum maps that can be used for lazy lookup via the radix tree.

Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2010-10-05 04:47:03 +09:00
..
maple sh: maple: PHYSADDR() -> virt_to_phys() conversion. 2009-10-13 12:35:30 +09:00
superhyway sh: struct device - replace bus_id with dev_name(), dev_set_name() 2009-03-24 16:38:21 -07:00
clk-cpg.c sh: add a reparent function to DIV6 clocks 2010-08-04 16:12:01 +09:00
clk.c sh: reinstate clock framework rate rounding. 2010-08-20 19:10:38 +09:00
intc.c sh: intc: Support virtual mappings for IRQ subgroups. 2010-10-05 04:47:03 +09:00
Kconfig sh: intc: Implement reverse mapping for IRQs to per-controller IDs. 2010-10-05 01:15:47 +09:00
Makefile ARM: mach-shmobile: Use shared clock framework 2010-05-20 12:05:45 +09:00
pfc.c sh: pfc: Fix up BUG() triggered by gpiolib debugfs lookups. 2010-10-04 05:15:20 +09:00