diff options
author | Richard Weinberger <richard@nod.at> | 2010-10-26 14:22:20 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-10-26 16:52:12 -0700 |
commit | be76d81f99c4c120adcd201a7316e4dd7dbe3c11 (patch) | |
tree | 4fc31e0f2dcf1ba08f0c59980de8580654ed484c /arch/um | |
parent | aa5fb4dbfd121296ca97c68cf90043a7ea97579d (diff) | |
download | op-kernel-dev-be76d81f99c4c120adcd201a7316e4dd7dbe3c11.zip op-kernel-dev-be76d81f99c4c120adcd201a7316e4dd7dbe3c11.tar.gz |
um: migrate from __do_IRQ() to generic_handle_irq()
This patch removes __do_IRQ() from user mode linux. __do_IRQ is deprecated.
Signed-off-by: Richard Weinberger <richard@nod.at>
Cc: Jeff Dike <jdike@addtoit.com>
Cc: Thomas Gleixner <tglx@linutronix.de>
Cc: Peter Zijlstra <a.p.zijlstra@chello.nl>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'arch/um')
-rw-r--r-- | arch/um/Kconfig.um | 3 | ||||
-rw-r--r-- | arch/um/kernel/irq.c | 15 |
2 files changed, 7 insertions, 11 deletions
diff --git a/arch/um/Kconfig.um b/arch/um/Kconfig.um index ffe0934..50d6aa2 100644 --- a/arch/um/Kconfig.um +++ b/arch/um/Kconfig.um @@ -120,6 +120,9 @@ config SMP If you don't know what to do, say N. +config GENERIC_HARDIRQS_NO__DO_IRQ + def_bool y + config NR_CPUS int "Maximum number of CPUs (2-32)" range 2 32 diff --git a/arch/um/kernel/irq.c b/arch/um/kernel/irq.c index a746e30..3f0ac9e 100644 --- a/arch/um/kernel/irq.c +++ b/arch/um/kernel/irq.c @@ -334,7 +334,7 @@ unsigned int do_IRQ(int irq, struct uml_pt_regs *regs) { struct pt_regs *old_regs = set_irq_regs((struct pt_regs *)regs); irq_enter(); - __do_IRQ(irq); + generic_handle_irq(irq); irq_exit(); set_irq_regs(old_regs); return 1; @@ -391,17 +391,10 @@ void __init init_IRQ(void) { int i; - irq_desc[TIMER_IRQ].status = IRQ_DISABLED; - irq_desc[TIMER_IRQ].action = NULL; - irq_desc[TIMER_IRQ].depth = 1; - irq_desc[TIMER_IRQ].chip = &SIGVTALRM_irq_type; - enable_irq(TIMER_IRQ); + set_irq_chip_and_handler(TIMER_IRQ, &SIGVTALRM_irq_type, handle_edge_irq); + for (i = 1; i < NR_IRQS; i++) { - irq_desc[i].status = IRQ_DISABLED; - irq_desc[i].action = NULL; - irq_desc[i].depth = 1; - irq_desc[i].chip = &normal_irq_type; - enable_irq(i); + set_irq_chip_and_handler(i, &normal_irq_type, handle_edge_irq); } } |