summaryrefslogtreecommitdiffstats
path: root/include/linux/sh_intc.h
diff options
context:
space:
mode:
authorPaul Mundt <lethal@linux-sh.org>2010-09-23 20:09:38 +0900
committerPaul Mundt <lethal@linux-sh.org>2010-10-05 01:15:47 +0900
commit44629f57accccbb8e6d443246fe6f51b42f7f781 (patch)
treeb75bab4a39a2be40f58a9d6daac4a208035300fe /include/linux/sh_intc.h
parente8184a47c9cc04380553114815356d1042a27788 (diff)
downloadlinux-stable-44629f57accccbb8e6d443246fe6f51b42f7f781.tar.gz
linux-stable-44629f57accccbb8e6d443246fe6f51b42f7f781.tar.bz2
linux-stable-44629f57accccbb8e6d443246fe6f51b42f7f781.zip
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.h1
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 = { \
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);