aboutsummaryrefslogtreecommitdiff
path: root/kernel/irq/handle.c
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2009-03-17 09:28:13 +0100
committerTakashi Iwai <tiwai@suse.de>2009-03-17 09:28:13 +0100
commit37ba1b62836d2440980cf553c49556393b05c6cd (patch)
tree3bbd9b76117d484d5a624db1b2b9ec0181c7ff55 /kernel/irq/handle.c
parent1713c0d508fbbb42aa5f90039195e5ac31a50625 (diff)
parentdde332b660cf0bc2baaba678b52768a0fb6e6da2 (diff)
Merge branch 'fix/opl3sa2-suspend' into topic/isa-misc
Diffstat (limited to 'kernel/irq/handle.c')
-rw-r--r--kernel/irq/handle.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/kernel/irq/handle.c b/kernel/irq/handle.c
index c20db0be917..3aba8d12f32 100644
--- a/kernel/irq/handle.c
+++ b/kernel/irq/handle.c
@@ -39,6 +39,18 @@ void handle_bad_irq(unsigned int irq, struct irq_desc *desc)
ack_bad_irq(irq);
}
+#if defined(CONFIG_SMP) && defined(CONFIG_GENERIC_HARDIRQS)
+static void __init init_irq_default_affinity(void)
+{
+ alloc_bootmem_cpumask_var(&irq_default_affinity);
+ cpumask_setall(irq_default_affinity);
+}
+#else
+static void __init init_irq_default_affinity(void)
+{
+}
+#endif
+
/*
* Linux has a controller-independent interrupt architecture.
* Every controller has a 'controller-template', that is used
@@ -134,6 +146,8 @@ int __init early_irq_init(void)
int legacy_count;
int i;
+ init_irq_default_affinity();
+
desc = irq_desc_legacy;
legacy_count = ARRAY_SIZE(irq_desc_legacy);
@@ -219,6 +233,8 @@ int __init early_irq_init(void)
int count;
int i;
+ init_irq_default_affinity();
+
desc = irq_desc;
count = ARRAY_SIZE(irq_desc);