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 | |
| 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')
| -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 | ||
