irq.h 772 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. #ifndef _ASM_IRQ_H
  2. #define _ASM_IRQ_H
  3. #include <linux/hardirq.h>
  4. #include <linux/types.h>
  5. enum interruption_class {
  6. EXTERNAL_INTERRUPT,
  7. IO_INTERRUPT,
  8. EXTINT_CLK,
  9. EXTINT_IPI,
  10. EXTINT_TMR,
  11. EXTINT_TLA,
  12. EXTINT_PFL,
  13. EXTINT_DSD,
  14. EXTINT_VRT,
  15. EXTINT_SCP,
  16. EXTINT_IUC,
  17. EXTINT_CPM,
  18. IOINT_QAI,
  19. IOINT_QDI,
  20. IOINT_DAS,
  21. IOINT_C15,
  22. IOINT_C70,
  23. IOINT_TAP,
  24. IOINT_VMR,
  25. IOINT_LCS,
  26. IOINT_CLW,
  27. IOINT_CTC,
  28. IOINT_APB,
  29. NMI_NMI,
  30. NR_IRQS,
  31. };
  32. typedef void (*ext_int_handler_t)(unsigned int, unsigned int, unsigned long);
  33. int register_external_interrupt(u16 code, ext_int_handler_t handler);
  34. int unregister_external_interrupt(u16 code, ext_int_handler_t handler);
  35. void service_subclass_irq_register(void);
  36. void service_subclass_irq_unregister(void);
  37. #endif /* _ASM_IRQ_H */