irq.h 831 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. /* SPDX-License-Identifier: GPL-2.0 */
  2. #ifndef __ASM_ARM_IRQ_H
  3. #define __ASM_ARM_IRQ_H
  4. #define NR_IRQS_LEGACY 16
  5. #ifndef CONFIG_SPARSE_IRQ
  6. #include <mach/irqs.h>
  7. #else
  8. #define NR_IRQS NR_IRQS_LEGACY
  9. #endif
  10. #ifndef irq_canonicalize
  11. #define irq_canonicalize(i) (i)
  12. #endif
  13. /*
  14. * Use this value to indicate lack of interrupt
  15. * capability
  16. */
  17. #ifndef NO_IRQ
  18. #define NO_IRQ ((unsigned int)(-1))
  19. #endif
  20. #ifndef __ASSEMBLY__
  21. struct irqaction;
  22. struct pt_regs;
  23. void handle_IRQ(unsigned int, struct pt_regs *);
  24. void init_IRQ(void);
  25. #ifdef CONFIG_SMP
  26. #include <linux/cpumask.h>
  27. extern void arch_trigger_cpumask_backtrace(const cpumask_t *mask,
  28. bool exclude_self);
  29. #define arch_trigger_cpumask_backtrace arch_trigger_cpumask_backtrace
  30. #endif
  31. static inline int nr_legacy_irqs(void)
  32. {
  33. return NR_IRQS_LEGACY;
  34. }
  35. #endif
  36. #endif