aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/kernel/irq.c
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2010-09-27 14:55:03 -0400
committerThomas Gleixner <tglx@linutronix.de>2010-10-12 10:39:08 -0400
commitb683de2b3cb17bb10fa6fd4af614dc75b5749fe0 (patch)
treee1a799293b218f5c13d4903c57fab144b2f433b3 /arch/arm/kernel/irq.c
parentaa99ec0f3f26bf2bcd0fa5176de93598427f1e5e (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.c6
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)
169int __init arch_probe_nr_irqs(void) 167int __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