diff options
author | Thomas Gleixner <tglx@linutronix.de> | 2010-09-27 14:55:03 -0400 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2010-10-12 10:39:08 -0400 |
commit | b683de2b3cb17bb10fa6fd4af614dc75b5749fe0 (patch) | |
tree | e1a799293b218f5c13d4903c57fab144b2f433b3 /arch/arm/kernel/irq.c | |
parent | aa99ec0f3f26bf2bcd0fa5176de93598427f1e5e (diff) |
genirq: Query arch for number of early descriptors
sparse irq sets up NR_IRQS_LEGACY irq descriptors and archs then go
ahead and allocate more.
Use the unused return value of arch_probe_nr_irqs() to let the
architecture return the number of early allocations. Fix up all users.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'arch/arm/kernel/irq.c')
-rw-r--r-- | arch/arm/kernel/irq.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/arch/arm/kernel/irq.c b/arch/arm/kernel/irq.c index c0d5c3b3a760..5456d11d6ae4 100644 --- a/arch/arm/kernel/irq.c +++ b/arch/arm/kernel/irq.c | |||
@@ -157,10 +157,8 @@ void __init init_IRQ(void) | |||
157 | struct irq_desc *desc; | 157 | struct irq_desc *desc; |
158 | int irq; | 158 | int irq; |
159 | 159 | ||
160 | for (irq = 0; irq < nr_irqs; irq++) { | 160 | for (irq = 0; irq < nr_irqs; irq++) |
161 | desc = irq_to_desc_alloc_node(irq, 0); | ||
162 | desc->status |= IRQ_NOREQUEST | IRQ_NOPROBE; | 161 | desc->status |= IRQ_NOREQUEST | IRQ_NOPROBE; |
163 | } | ||
164 | 162 | ||
165 | init_arch_irq(); | 163 | init_arch_irq(); |
166 | } | 164 | } |
@@ -169,7 +167,7 @@ void __init init_IRQ(void) | |||
169 | int __init arch_probe_nr_irqs(void) | 167 | int __init arch_probe_nr_irqs(void) |
170 | { | 168 | { |
171 | nr_irqs = arch_nr_irqs ? arch_nr_irqs : NR_IRQS; | 169 | nr_irqs = arch_nr_irqs ? arch_nr_irqs : NR_IRQS; |
172 | return 0; | 170 | return nr_irqs; |
173 | } | 171 | } |
174 | #endif | 172 | #endif |
175 | 173 | ||