Merge branch 'overlayfs-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mszer...
[linux-2.6-block.git] / include / linux / irqnr.h
CommitLineData
dd3a1db9
TG
1#ifndef _LINUX_IRQNR_H
2#define _LINUX_IRQNR_H
3
607ca46e
DH
4#include <uapi/linux/irqnr.h>
5
0ebb26e7 6
0ebb26e7 7extern int nr_irqs;
f9af0e70 8extern struct irq_desc *irq_to_desc(unsigned int irq);
a98d24b7 9unsigned int irq_get_next_irq(unsigned int offset);
0ebb26e7 10
f9af0e70
KM
11# define for_each_irq_desc(irq, desc) \
12 for (irq = 0, desc = irq_to_desc(irq); irq < nr_irqs; \
18eefedf 13 irq++, desc = irq_to_desc(irq)) \
01d07820
KM
14 if (!desc) \
15 ; \
16 else
18eefedf
KM
17
18
f9af0e70
KM
19# define for_each_irq_desc_reverse(irq, desc) \
20 for (irq = nr_irqs - 1, desc = irq_to_desc(irq); irq >= 0; \
18eefedf 21 irq--, desc = irq_to_desc(irq)) \
01d07820
KM
22 if (!desc) \
23 ; \
24 else
240d367b 25
a98d24b7
TG
26# define for_each_active_irq(irq) \
27 for (irq = irq_get_next_irq(0); irq < nr_irqs; \
28 irq = irq_get_next_irq(irq + 1))
29
240d367b
YL
30#define for_each_irq_nr(irq) \
31 for (irq = 0; irq < nr_irqs; irq++)
dd3a1db9 32
dd3a1db9 33#endif