irq.h
上传用户:jlfgdled
上传日期:2013-04-10
资源大小:33168k
文件大小:1k
源码类别:

Linux/Unix编程

开发平台:

Unix_Linux

  1. /*
  2.  *  linux/include/asm-arm/mach/irq.h
  3.  *
  4.  *  Copyright (C) 1995-2000 Russell King.
  5.  *
  6.  * This program is free software; you can redistribute it and/or modify
  7.  * it under the terms of the GNU General Public License version 2 as
  8.  * published by the Free Software Foundation.
  9.  */
  10. #ifndef __ASM_ARM_MACH_IRQ_H
  11. #define __ASM_ARM_MACH_IRQ_H
  12. struct irqdesc {
  13. unsigned int  nomask   : 1; /* IRQ does not mask in IRQ   */
  14. unsigned int  enabled  : 1; /* IRQ is currently enabled   */
  15. unsigned int  triggered: 1; /* IRQ has occurred       */
  16. unsigned int  probing  : 1; /* IRQ in use for a probe     */
  17. unsigned int  probe_ok : 1; /* IRQ can be used for probe  */
  18. unsigned int  valid    : 1; /* IRQ claimable       */
  19. unsigned int  noautoenable : 1; /* don't automatically enable IRQ */
  20. unsigned int  unused   :25;
  21. void (*mask_ack)(unsigned int irq); /* Mask and acknowledge IRQ   */
  22. void (*mask)(unsigned int irq); /* Mask IRQ       */
  23. void (*unmask)(unsigned int irq); /* Unmask IRQ       */
  24. struct irqaction *action;
  25. /*
  26.  * IRQ lock detection
  27.  */
  28. unsigned int  lck_cnt;
  29. unsigned int  lck_pc;
  30. unsigned int  lck_jif;
  31. };
  32. extern struct irqdesc irq_desc[];
  33. extern void (*init_arch_irq)(void);
  34. extern int setup_arm_irq(int, struct irqaction *);
  35. extern int get_fiq_list(char *);
  36. extern void init_FIQ(void);
  37. #endif