diff options
author | Magnus Damm <damm@igel.co.jp> | 2007-08-12 02:26:12 -0400 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2007-09-20 22:57:50 -0400 |
commit | 73505b445dbb8ad12df468404c4dd5cde9c40c65 (patch) | |
tree | c248710475090f01dc874e2c878efc769b24d2af /include/asm-sh | |
parent | 6ef5fb2cfcedaab4a43493c8f2305a67c0ce1af6 (diff) |
sh: intc - rework core code
This patch reworks the intc core, implementing the following features:
- Support dual priority registers - one set and one clear register
- All 8/16/32 bit register combinations are now supported
- Both single mask and single enable bitmap register are supported
- Add code to set interrupt priority
- Speedup sense and priority configuration code
- Allocate data using bootmem, allows intc data structures to be
__initdata
- Save memory - allocated memory footprint is smaller than intc
structures
Signed-off-by: Magnus Damm <damm@igel.co.jp>
Signed-off-by: Paul Mundt <lethal@linux-sh.org>
Diffstat (limited to 'include/asm-sh')
-rw-r--r-- | include/asm-sh/hw_irq.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/include/asm-sh/hw_irq.h b/include/asm-sh/hw_irq.h index 6c759b2b8929..0e6a60304974 100644 --- a/include/asm-sh/hw_irq.h +++ b/include/asm-sh/hw_irq.h | |||
@@ -75,7 +75,7 @@ struct intc_desc { | |||
75 | unsigned int nr_prio_regs; | 75 | unsigned int nr_prio_regs; |
76 | struct intc_sense_reg *sense_regs; | 76 | struct intc_sense_reg *sense_regs; |
77 | unsigned int nr_sense_regs; | 77 | unsigned int nr_sense_regs; |
78 | struct irq_chip chip; | 78 | char *name; |
79 | }; | 79 | }; |
80 | 80 | ||
81 | #define _INTC_ARRAY(a) a, sizeof(a)/sizeof(*a) | 81 | #define _INTC_ARRAY(a) a, sizeof(a)/sizeof(*a) |
@@ -86,7 +86,7 @@ struct intc_desc symbol = { \ | |||
86 | _INTC_ARRAY(priorities), \ | 86 | _INTC_ARRAY(priorities), \ |
87 | _INTC_ARRAY(mask_regs), _INTC_ARRAY(prio_regs), \ | 87 | _INTC_ARRAY(mask_regs), _INTC_ARRAY(prio_regs), \ |
88 | _INTC_ARRAY(sense_regs), \ | 88 | _INTC_ARRAY(sense_regs), \ |
89 | .chip.name = chipname, \ | 89 | chipname, \ |
90 | } | 90 | } |
91 | 91 | ||
92 | void __init register_intc_controller(struct intc_desc *desc); | 92 | void __init register_intc_controller(struct intc_desc *desc); |