hardirq.h 726 B

12345678910111213141516171819202122232425262728293031323334
  1. #ifndef __ASM_AVR32_HARDIRQ_H
  2. #define __ASM_AVR32_HARDIRQ_H
  3. #include <linux/threads.h>
  4. #include <asm/irq.h>
  5. #ifndef __ASSEMBLY__
  6. #include <linux/cache.h>
  7. /* entry.S is sensitive to the offsets of these fields */
  8. typedef struct {
  9. unsigned int __softirq_pending;
  10. } ____cacheline_aligned irq_cpustat_t;
  11. void ack_bad_irq(unsigned int irq);
  12. /* Standard mappings for irq_cpustat_t above */
  13. #include <linux/irq_cpustat.h>
  14. #endif /* __ASSEMBLY__ */
  15. #define HARDIRQ_BITS 12
  16. /*
  17. * The hardirq mask has to be large enough to have
  18. * space for potentially all IRQ sources in the system
  19. * nesting on a single CPU:
  20. */
  21. #if (1 << HARDIRQ_BITS) < NR_IRQS
  22. # error HARDIRQ_BITS is too low!
  23. #endif
  24. #endif /* __ASM_AVR32_HARDIRQ_H */