irq.h 1008 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  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 migrate_irqs(void);
  23. extern void asm_do_IRQ(unsigned int, struct pt_regs *);
  24. void handle_IRQ(unsigned int, struct pt_regs *);
  25. void init_IRQ(void);
  26. #ifdef CONFIG_MULTI_IRQ_HANDLER
  27. extern void (*handle_arch_irq)(struct pt_regs *);
  28. extern void set_handle_irq(void (*handle_irq)(struct pt_regs *));
  29. #endif
  30. #ifdef CONFIG_SMP
  31. extern void arch_trigger_cpumask_backtrace(const cpumask_t *mask,
  32. bool exclude_self);
  33. #define arch_trigger_cpumask_backtrace arch_trigger_cpumask_backtrace
  34. #endif
  35. static inline int nr_legacy_irqs(void)
  36. {
  37. return NR_IRQS_LEGACY;
  38. }
  39. #endif
  40. #endif