diff options
author | Paul Mundt <lethal@linux-sh.org> | 2010-09-23 07:09:38 -0400 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2010-10-04 12:15:47 -0400 |
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 bff2f286ca61..d40fd77fa75c 100644 --- a/include/linux/sh_intc.h +++ b/include/linux/sh_intc.h | |||
@@ -108,6 +108,7 @@ struct intc_desc symbol __initdata = { \ | |||
108 | int __init register_intc_controller(struct intc_desc *desc); | 108 | int __init register_intc_controller(struct intc_desc *desc); |
109 | void reserve_intc_vectors(struct intc_vect *vectors, unsigned int nr_vecs); | 109 | void reserve_intc_vectors(struct intc_vect *vectors, unsigned int nr_vecs); |
110 | int intc_set_priority(unsigned int irq, unsigned int prio); | 110 | int intc_set_priority(unsigned int irq, unsigned int prio); |
111 | unsigned int intc_irq_lookup(const char *chipname, intc_enum enum_id); | ||
111 | 112 | ||
112 | #ifdef CONFIG_INTC_USERIMASK | 113 | #ifdef CONFIG_INTC_USERIMASK |
113 | int register_intc_userimask(unsigned long addr); | 114 | int register_intc_userimask(unsigned long addr); |