diff options
author | Ingo Molnar <mingo@elte.hu> | 2009-01-30 12:23:30 -0500 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2009-01-30 12:23:30 -0500 |
commit | c43e0e46adf79c321ed3fbf0351e1005fb8a2413 (patch) | |
tree | 35b9ab361651f649d3c9aa69f159812eba50d154 /kernel/irq/handle.c | |
parent | dba3d36b2f0842ed7f25c33cd3a2ccdb3d0df9db (diff) | |
parent | f2257b70b0f9b2fe8f2afd83fc6798dca75930b8 (diff) |
Merge branch 'linus' into core/percpu
Conflicts:
kernel/irq/handle.c
Diffstat (limited to 'kernel/irq/handle.c')
-rw-r--r-- | kernel/irq/handle.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/kernel/irq/handle.c b/kernel/irq/handle.c index 375d68cd5bf0..f51eaee921b6 100644 --- a/kernel/irq/handle.c +++ b/kernel/irq/handle.c | |||
@@ -40,6 +40,18 @@ void handle_bad_irq(unsigned int irq, struct irq_desc *desc) | |||
40 | ack_bad_irq(irq); | 40 | ack_bad_irq(irq); |
41 | } | 41 | } |
42 | 42 | ||
43 | #if defined(CONFIG_SMP) && defined(CONFIG_GENERIC_HARDIRQS) | ||
44 | static void __init init_irq_default_affinity(void) | ||
45 | { | ||
46 | alloc_bootmem_cpumask_var(&irq_default_affinity); | ||
47 | cpumask_setall(irq_default_affinity); | ||
48 | } | ||
49 | #else | ||
50 | static void __init init_irq_default_affinity(void) | ||
51 | { | ||
52 | } | ||
53 | #endif | ||
54 | |||
43 | /* | 55 | /* |
44 | * Linux has a controller-independent interrupt architecture. | 56 | * Linux has a controller-independent interrupt architecture. |
45 | * Every controller has a 'controller-template', that is used | 57 | * Every controller has a 'controller-template', that is used |
@@ -133,6 +145,8 @@ int __init early_irq_init(void) | |||
133 | int legacy_count; | 145 | int legacy_count; |
134 | int i; | 146 | int i; |
135 | 147 | ||
148 | init_irq_default_affinity(); | ||
149 | |||
136 | /* initialize nr_irqs based on nr_cpu_ids */ | 150 | /* initialize nr_irqs based on nr_cpu_ids */ |
137 | arch_probe_nr_irqs(); | 151 | arch_probe_nr_irqs(); |
138 | printk(KERN_INFO "NR_IRQS:%d nr_irqs:%d\n", NR_IRQS, nr_irqs); | 152 | printk(KERN_INFO "NR_IRQS:%d nr_irqs:%d\n", NR_IRQS, nr_irqs); |
@@ -229,6 +243,8 @@ int __init early_irq_init(void) | |||
229 | int count; | 243 | int count; |
230 | int i; | 244 | int i; |
231 | 245 | ||
246 | init_irq_default_affinity(); | ||
247 | |||
232 | printk(KERN_INFO "NR_IRQS:%d\n", NR_IRQS); | 248 | printk(KERN_INFO "NR_IRQS:%d\n", NR_IRQS); |
233 | 249 | ||
234 | desc = irq_desc; | 250 | desc = irq_desc; |