Blame view

include/linux/irqnr.h 856 Bytes
b24413180   Greg Kroah-Hartman   License cleanup: ...
1
  /* SPDX-License-Identifier: GPL-2.0 */
dd3a1db90   Thomas Gleixner   genirq: improve i...
2
3
  #ifndef _LINUX_IRQNR_H
  #define _LINUX_IRQNR_H
607ca46e9   David Howells   UAPI: (Scripted) ...
4
  #include <uapi/linux/irqnr.h>
0ebb26e7a   Ingo Molnar   sparse irqs: hand...
5

0ebb26e7a   Ingo Molnar   sparse irqs: hand...
6
  extern int nr_irqs;
f9af0e709   KOSAKI Motohiro   irq: for_each_irq...
7
  extern struct irq_desc *irq_to_desc(unsigned int irq);
a98d24b71   Thomas Gleixner   genirq: Implement...
8
  unsigned int irq_get_next_irq(unsigned int offset);
0ebb26e7a   Ingo Molnar   sparse irqs: hand...
9

f9af0e709   KOSAKI Motohiro   irq: for_each_irq...
10
11
  # define for_each_irq_desc(irq, desc)					\
  	for (irq = 0, desc = irq_to_desc(irq); irq < nr_irqs;		\
18eefedfe   KOSAKI Motohiro   irq: simplify for...
12
  	     irq++, desc = irq_to_desc(irq))				\
01d07820a   KOSAKI Motohiro   sparseirq: make f...
13
14
15
  		if (!desc)						\
  			;						\
  		else
18eefedfe   KOSAKI Motohiro   irq: simplify for...
16

f9af0e709   KOSAKI Motohiro   irq: for_each_irq...
17
18
  # define for_each_irq_desc_reverse(irq, desc)				\
  	for (irq = nr_irqs - 1, desc = irq_to_desc(irq); irq >= 0;	\
18eefedfe   KOSAKI Motohiro   irq: simplify for...
19
  	     irq--, desc = irq_to_desc(irq))				\
01d07820a   KOSAKI Motohiro   sparseirq: make f...
20
21
22
  		if (!desc)						\
  			;						\
  		else
240d367b4   Yinghai Lu   sparseirq: fix Al...
23

a98d24b71   Thomas Gleixner   genirq: Implement...
24
25
26
  # define for_each_active_irq(irq)			\
  	for (irq = irq_get_next_irq(0); irq < nr_irqs;	\
  	     irq = irq_get_next_irq(irq + 1))
240d367b4   Yinghai Lu   sparseirq: fix Al...
27
28
  #define for_each_irq_nr(irq)                   \
         for (irq = 0; irq < nr_irqs; irq++)
dd3a1db90   Thomas Gleixner   genirq: improve i...
29

dd3a1db90   Thomas Gleixner   genirq: improve i...
30
  #endif