diff options
author | Atsushi Nemoto <anemo@mba.ocn.ne.jp> | 2006-11-01 12:08:36 -0500 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 2006-11-29 20:14:46 -0500 |
commit | 1603b5aca4f15b34848fb5594d0c7b6333b99144 (patch) | |
tree | 79272aa41d6510b7256df62e287676885c3960cf /arch/mips/kernel/irq.c | |
parent | c87b6ebaea034c0e0ce86127870cf1511a307b64 (diff) |
[MIPS] IRQ cleanups
This is a big irq cleanup patch.
* Use set_irq_chip() to register irq_chip.
* Initialize .mask, .unmask, .mask_ack field. Functions for these
method are already exist in most case.
* Do not initialize .startup, .shutdown, .enable, .disable fields if
default routines provided by irq_chip_set_defaults() were suitable.
* Remove redundant irq_desc initializations.
* Remove unnecessary local_irq_save/local_irq_restore, spin_lock.
With this cleanup, it would be easy to switch to slightly lightwait
irq flow handlers (handle_level_irq(), etc.) instead of __do_IRQ().
Though whole this patch is quite large, changes in each irq_chip are
not quite simple. Please review and test on your platform. Thanks.
Signed-off-by: Atsushi Nemoto <anemo@mba.ocn.ne.jp>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch/mips/kernel/irq.c')
-rw-r--r-- | arch/mips/kernel/irq.c | 13 |
1 files changed, 0 insertions, 13 deletions
diff --git a/arch/mips/kernel/irq.c b/arch/mips/kernel/irq.c index 9b0e49d63d7b..e997c9454f47 100644 --- a/arch/mips/kernel/irq.c +++ b/arch/mips/kernel/irq.c | |||
@@ -172,19 +172,6 @@ __setup("nokgdb", nokgdb); | |||
172 | 172 | ||
173 | void __init init_IRQ(void) | 173 | void __init init_IRQ(void) |
174 | { | 174 | { |
175 | int i; | ||
176 | |||
177 | for (i = 0; i < NR_IRQS; i++) { | ||
178 | irq_desc[i].status = IRQ_DISABLED; | ||
179 | irq_desc[i].action = NULL; | ||
180 | irq_desc[i].depth = 1; | ||
181 | irq_desc[i].chip = &no_irq_chip; | ||
182 | spin_lock_init(&irq_desc[i].lock); | ||
183 | #ifdef CONFIG_MIPS_MT_SMTC | ||
184 | irq_hwmask[i] = 0; | ||
185 | #endif /* CONFIG_MIPS_MT_SMTC */ | ||
186 | } | ||
187 | |||
188 | arch_init_irq(); | 175 | arch_init_irq(); |
189 | 176 | ||
190 | #ifdef CONFIG_KGDB | 177 | #ifdef CONFIG_KGDB |