home *** CD-ROM | disk | FTP | other *** search
/ PC Welt 2006 November (DVD) / PCWELT_11_2006.ISO / casper / filesystem.squashfs / usr / src / linux-headers-2.6.17-6 / include / asm-arm / irq.h < prev    next >
Encoding:
C/C++ Source or Header  |  2006-08-11  |  1.2 KB  |  57 lines

  1. #ifndef __ASM_ARM_IRQ_H
  2. #define __ASM_ARM_IRQ_H
  3.  
  4. #include <asm/arch/irqs.h>
  5.  
  6. #ifndef irq_canonicalize
  7. #define irq_canonicalize(i)    (i)
  8. #endif
  9.  
  10. #ifndef NR_IRQS
  11. #define NR_IRQS    128
  12. #endif
  13.  
  14. /*
  15.  * Use this value to indicate lack of interrupt
  16.  * capability
  17.  */
  18. #ifndef NO_IRQ
  19. #define NO_IRQ    ((unsigned int)(-1))
  20. #endif
  21.  
  22. struct irqaction;
  23.  
  24. extern void disable_irq_nosync(unsigned int);
  25. extern void disable_irq(unsigned int);
  26. extern void enable_irq(unsigned int);
  27.  
  28. /*
  29.  * These correspond with the SA_TRIGGER_* defines, and therefore the
  30.  * IORESOURCE_IRQ_* defines.
  31.  */
  32. #define __IRQT_RISEDGE    (1 << 0)
  33. #define __IRQT_FALEDGE    (1 << 1)
  34. #define __IRQT_HIGHLVL    (1 << 2)
  35. #define __IRQT_LOWLVL    (1 << 3)
  36.  
  37. #define IRQT_NOEDGE    (0)
  38. #define IRQT_RISING    (__IRQT_RISEDGE)
  39. #define IRQT_FALLING    (__IRQT_FALEDGE)
  40. #define IRQT_BOTHEDGE    (__IRQT_RISEDGE|__IRQT_FALEDGE)
  41. #define IRQT_LOW    (__IRQT_LOWLVL)
  42. #define IRQT_HIGH    (__IRQT_HIGHLVL)
  43. #define IRQT_PROBE    (1 << 4)
  44.  
  45. int set_irq_type(unsigned int irq, unsigned int type);
  46. void disable_irq_wake(unsigned int irq);
  47. void enable_irq_wake(unsigned int irq);
  48. int setup_irq(unsigned int, struct irqaction *);
  49.  
  50. struct irqaction;
  51. struct pt_regs;
  52. int handle_IRQ_event(unsigned int, struct pt_regs *, struct irqaction *);
  53.  
  54. extern void migrate_irqs(void);
  55. #endif
  56.  
  57.