From 4b28012c48d56b7a52f726072a32346a59fa8981 Mon Sep 17 00:00:00 2001 From: Richard Weinberger Date: Tue, 26 Oct 2010 14:22:20 -0700 Subject: [PATCH] --- yaml --- r: 217507 b: refs/heads/master c: be76d81f99c4c120adcd201a7316e4dd7dbe3c11 h: refs/heads/master i: 217505: ae93639d92d5ccf974507b3438a1ea6aa69b08bd 217503: 06c4414555b835027a9ff1319b1c49eebb9199e2 v: v3 --- [refs] | 2 +- trunk/arch/um/Kconfig.um | 3 +++ trunk/arch/um/kernel/irq.c | 15 ++++----------- 3 files changed, 8 insertions(+), 12 deletions(-) diff --git a/[refs] b/[refs] index 2b82ecf888a4..f46d2b07017f 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: aa5fb4dbfd121296ca97c68cf90043a7ea97579d +refs/heads/master: be76d81f99c4c120adcd201a7316e4dd7dbe3c11 diff --git a/trunk/arch/um/Kconfig.um b/trunk/arch/um/Kconfig.um index ffe0934a3ccf..50d6aa20c353 100644 --- a/trunk/arch/um/Kconfig.um +++ b/trunk/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/trunk/arch/um/kernel/irq.c b/trunk/arch/um/kernel/irq.c index a746e3037a5b..3f0ac9e0c966 100644 --- a/trunk/arch/um/kernel/irq.c +++ b/trunk/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); } }