irqnr.h 779 B

1234567891011121314151617181920212223242526272829
  1. #ifndef _LINUX_IRQNR_H
  2. #define _LINUX_IRQNR_H
  3. #ifndef CONFIG_GENERIC_HARDIRQS
  4. #include <asm/irq.h>
  5. # define nr_irqs NR_IRQS
  6. # define for_each_irq_desc(irq, desc) \
  7. for (irq = 0; irq < nr_irqs; irq++)
  8. # define for_each_irq_desc_reverse(irq, desc) \
  9. for (irq = nr_irqs - 1; irq >= 0; irq--)
  10. #else
  11. #ifndef CONFIG_SPARSE_IRQ
  12. struct irq_desc;
  13. extern int nr_irqs;
  14. # define for_each_irq_desc(irq, desc) \
  15. for (irq = 0, desc = irq_desc; irq < nr_irqs; irq++, desc++)
  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. #endif
  21. #define for_each_irq_nr(irq) \
  22. for (irq = 0; irq < nr_irqs; irq++)
  23. #endif