aboutsummaryrefslogtreecommitdiff
path: root/arch/x86/kernel/irqinit_32.c
diff options
context:
space:
mode:
authorYinghai Lu <yhlu.kernel@gmail.com>2008-08-19 20:50:27 -0700
committerIngo Molnar <mingo@elte.hu>2008-10-16 16:52:53 +0200
commit199751d715bba5b469ea22adadc68a4166bfa4f5 (patch)
treebc7edd6d16d75637fbe00d906636c1c879acedc8 /arch/x86/kernel/irqinit_32.c
parent0f978f4505e96227a89b3c9447552aca983c6b57 (diff)
downloadlinux-2.6.38-lt-ux500-199751d715bba5b469ea22adadc68a4166bfa4f5.tar.gz
x86: make 32 bit to use sparse_irq
but actually irq still needs to be less than NR_IRQS, because interrupt[NR_IRQS] in entry.S. need to enable per_cpu vector... Signed-off-by: Yinghai Lu <yhlu.kernel@gmail.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/x86/kernel/irqinit_32.c')
-rw-r--r--arch/x86/kernel/irqinit_32.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/arch/x86/kernel/irqinit_32.c b/arch/x86/kernel/irqinit_32.c
index 65c1c950770..ded09ac2642 100644
--- a/arch/x86/kernel/irqinit_32.c
+++ b/arch/x86/kernel/irqinit_32.c
@@ -69,6 +69,13 @@ void __init init_ISA_irqs (void)
* 16 old-style INTA-cycle interrupts:
*/
for (i = 0; i < 16; i++) {
+ /* first time call this irq_desc */
+ struct irq_desc *desc = irq_to_desc_alloc(i);
+
+ desc->status = IRQ_DISABLED;
+ desc->action = NULL;
+ desc->depth = 1;
+
set_irq_chip_and_handler_name(i, &i8259A_chip,
handle_level_irq, "XT");
}