diff options
author | Paul Mundt <lethal@linux-sh.org> | 2010-09-23 20:09:38 +0900 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2010-10-05 01:15:47 +0900 |
commit | 44629f57accccbb8e6d443246fe6f51b42f7f781 (patch) | |
tree | b75bab4a39a2be40f58a9d6daac4a208035300fe /include/linux/sh_intc.h | |
parent | e8184a47c9cc04380553114815356d1042a27788 (diff) |
sh: intc: Implement reverse mapping for IRQs to per-controller IDs.
This implements a scheme roughly analogous to the PowerPC virtual to
hardware IRQ mapping, which we use for IRQ to per-controller ID mapping.
This makes it possible for drivers to use the IDs directly for lookup
instead of hardcoding the vector.
The main motivation for this work is as a building block for dynamically
allocating virtual IRQs for demuxing INTC events sharing a single INTEVT
in addition to a common masking source.
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'include/linux/sh_intc.h')
-rw-r--r-- | include/linux/sh_intc.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/linux/sh_intc.h b/include/linux/sh_intc.h index bff2f286ca6..d40fd77fa75 100644 --- a/include/linux/sh_intc.h +++ b/include/linux/sh_intc.h @@ -108,6 +108,7 @@ struct intc_desc symbol __initdata = { \ int __init register_intc_controller(struct intc_desc *desc); void reserve_intc_vectors(struct intc_vect *vectors, unsigned int nr_vecs); int intc_set_priority(unsigned int irq, unsigned int prio); +unsigned int intc_irq_lookup(const char *chipname, intc_enum enum_id); #ifdef CONFIG_INTC_USERIMASK int register_intc_userimask(unsigned long addr); |