diff options
author | Paul Mundt <lethal@linux-sh.org> | 2010-04-13 01:43:03 -0400 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2010-04-13 01:43:03 -0400 |
commit | 43b8774dc409ea5d9369b978e2e7bc79289f0522 (patch) | |
tree | 13aa346ff8f30786e8ce3ccfdd8341d182ce4c87 /include/linux/sh_intc.h | |
parent | 12129fea50edcd696a9556523b058d6c445f21d8 (diff) |
sh: intc: userimask support.
This adds support for hardware-assisted userspace irq masking for
special priority levels. Due to the SR.IMASK interactivity, only some
platforms implement this in hardware (including but not limited to
SH-4A interrupt controllers, and ARM-based SH-Mobile CPUs). Each CPU
needs to wire this up on its own, for now only SH7786 is wired up as an
example.
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 | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/include/linux/sh_intc.h b/include/linux/sh_intc.h index 01d8168c5a1b..f0e8cca199c7 100644 --- a/include/linux/sh_intc.h +++ b/include/linux/sh_intc.h | |||
@@ -99,6 +99,15 @@ struct intc_desc symbol __initdata = { \ | |||
99 | int __init register_intc_controller(struct intc_desc *desc); | 99 | int __init register_intc_controller(struct intc_desc *desc); |
100 | int intc_set_priority(unsigned int irq, unsigned int prio); | 100 | int intc_set_priority(unsigned int irq, unsigned int prio); |
101 | 101 | ||
102 | #ifdef CONFIG_INTC_USERIMASK | ||
103 | int register_intc_userimask(unsigned long addr); | ||
104 | #else | ||
105 | static inline int register_intc_userimask(unsigned long addr) | ||
106 | { | ||
107 | return 0; | ||
108 | } | ||
109 | #endif | ||
110 | |||
102 | int reserve_irq_vector(unsigned int irq); | 111 | int reserve_irq_vector(unsigned int irq); |
103 | void reserve_irq_legacy(void); | 112 | void reserve_irq_legacy(void); |
104 | 113 | ||