irq.h 976 B

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