xref: /linux-6.15/include/linux/irqnr.h (revision 3eeebf17)
1 #ifndef _LINUX_IRQNR_H
2 #define _LINUX_IRQNR_H
3 
4 #ifndef CONFIG_GENERIC_HARDIRQS
5 #include <asm/irq.h>
6 # define nr_irqs		NR_IRQS
7 
8 # define for_each_irq_desc(irq, desc)		\
9 	for (irq = 0; irq < nr_irqs; irq++)
10 #else
11 extern int nr_irqs;
12 
13 # define for_each_irq_desc(irq, desc)		\
14 	for (irq = 0, desc = irq_desc; irq < nr_irqs; irq++, desc++)
15 
16 # define for_each_irq_desc_reverse(irq, desc)				\
17 	for (irq = nr_irqs - 1, desc = irq_desc + (nr_irqs - 1);	\
18 	     irq >= 0; irq--, desc--)
19 #endif
20 
21 #define for_each_irq_nr(irq)			\
22 	for (irq = 0; irq < nr_irqs; irq++)
23 
24 #endif
25