aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/irq/handle.c
diff options
context:
space:
mode:
authorKOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>2008-12-25 22:24:24 -0500
committerIngo Molnar <mingo@elte.hu>2008-12-26 03:48:17 -0500
commitf9af0e70911e9d6cc9a68f784dca86415486084d (patch)
tree58a83c34cc8a511b5e05d48425251621e9b471a1 /kernel/irq/handle.c
parent51bc39f4ba35bae153b32145077fb1109bcae14c (diff)
irq: for_each_irq_desc() move to irqnr.h
Impact: cleanup before CONFIG_SPARSE_IRQ age, for_each_irq_desc() sat in irqnr.h and could be called from generic code. CONFIG_SPARSE_IRQ breaks this assumption, but SPARSE_IRQ version for_each_irq_desc() also can move into irqnr.h easily. Also, this patch unifies CONFIG_SPARSE_IRQ and !CONFIG_SPARSE_IRQ for_each_irq_desc(). Signed-off-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'kernel/irq/handle.c')
-rw-r--r--kernel/irq/handle.c13
1 files changed, 11 insertions, 2 deletions
diff --git a/kernel/irq/handle.c b/kernel/irq/handle.c
index 6492400cb50d..4db7d2df86b6 100644
--- a/kernel/irq/handle.c
+++ b/kernel/irq/handle.c
@@ -203,7 +203,7 @@ out_unlock:
203 return desc; 203 return desc;
204} 204}
205 205
206#else 206#else /* !CONFIG_SPARSE_IRQ */
207 207
208struct irq_desc irq_desc[NR_IRQS] __cacheline_aligned_in_smp = { 208struct irq_desc irq_desc[NR_IRQS] __cacheline_aligned_in_smp = {
209 [0 ... NR_IRQS-1] = { 209 [0 ... NR_IRQS-1] = {
@@ -218,7 +218,16 @@ struct irq_desc irq_desc[NR_IRQS] __cacheline_aligned_in_smp = {
218 } 218 }
219}; 219};
220 220
221#endif 221struct irq_desc *irq_to_desc(unsigned int irq)
222{
223 return (irq < NR_IRQS) ? irq_desc + irq : NULL;
224}
225
226struct irq_desc *irq_to_desc_alloc_cpu(unsigned int irq, int cpu)
227{
228 return irq_to_desc(irq);
229}
230#endif /* !CONFIG_SPARSE_IRQ */
222 231
223/* 232/*
224 * What should we do if we get a hw irq event on an illegal vector? 233 * What should we do if we get a hw irq event on an illegal vector?