diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2009-09-11 16:20:42 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-09-11 16:20:42 -0400 |
commit | 12a499612e1ff439bdad240c7f86c55366941d4d (patch) | |
tree | 9fd218631e0c8c26a5ffc41ebce1d65f8e826339 /kernel/irq/handle.c | |
parent | eee2775d9924b22643bd89b2e568cc5eed7e8a04 (diff) | |
parent | 70590ea75b7f9ef4846b0b0f4400e8338dbcc7eb (diff) |
Merge branch 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
* 'irq-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:
pci/intr_remapping: Allocate irq_iommu on node
irq: Add irq_node() primitive
irq: Make sure irq_desc for legacy irq get correct node setting
genirq: Add prototype for handle_nested_irq()
irq: Remove superfluous NULL pointer check in check_irq_resend()
irq: Clean up by removing irqfixup MODULE_PARM_DESC()
genirq: Fix comment describing suspend_device_irqs()
genirq: Remove obsolete defines and typedefs
Diffstat (limited to 'kernel/irq/handle.c')
-rw-r--r-- | kernel/irq/handle.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/kernel/irq/handle.c b/kernel/irq/handle.c index 065205bdd920..a81cf80554db 100644 --- a/kernel/irq/handle.c +++ b/kernel/irq/handle.c | |||
@@ -161,7 +161,7 @@ int __init early_irq_init(void) | |||
161 | 161 | ||
162 | desc = irq_desc_legacy; | 162 | desc = irq_desc_legacy; |
163 | legacy_count = ARRAY_SIZE(irq_desc_legacy); | 163 | legacy_count = ARRAY_SIZE(irq_desc_legacy); |
164 | node = first_online_node; | 164 | node = first_online_node; |
165 | 165 | ||
166 | /* allocate irq_desc_ptrs array based on nr_irqs */ | 166 | /* allocate irq_desc_ptrs array based on nr_irqs */ |
167 | irq_desc_ptrs = kcalloc(nr_irqs, sizeof(void *), GFP_NOWAIT); | 167 | irq_desc_ptrs = kcalloc(nr_irqs, sizeof(void *), GFP_NOWAIT); |
@@ -172,6 +172,9 @@ int __init early_irq_init(void) | |||
172 | 172 | ||
173 | for (i = 0; i < legacy_count; i++) { | 173 | for (i = 0; i < legacy_count; i++) { |
174 | desc[i].irq = i; | 174 | desc[i].irq = i; |
175 | #ifdef CONFIG_SMP | ||
176 | desc[i].node = node; | ||
177 | #endif | ||
175 | desc[i].kstat_irqs = kstat_irqs_legacy + i * nr_cpu_ids; | 178 | desc[i].kstat_irqs = kstat_irqs_legacy + i * nr_cpu_ids; |
176 | lockdep_set_class(&desc[i].lock, &irq_desc_lock_class); | 179 | lockdep_set_class(&desc[i].lock, &irq_desc_lock_class); |
177 | alloc_desc_masks(&desc[i], node, true); | 180 | alloc_desc_masks(&desc[i], node, true); |