#ifndef __ASM_ARM_IRQ_H #define __ASM_ARM_IRQ_H #include <asm/arch/irqs.h> #ifndef irq_canonicalize #define irq_canonicalize(i) (i) #endif #ifndef NR_IRQS #define NR_IRQS 128 #endif /* * Use this value to indicate lack of interrupt * capability */ #ifndef NO_IRQ #define NO_IRQ ((unsigned int)(-1)) #endif struct irqaction; extern void disable_irq_nosync(unsigned int); extern void disable_irq(unsigned int); extern void enable_irq(unsigned int); /* * These correspond with the SA_TRIGGER_* defines, and therefore the * IORESOURCE_IRQ_* defines. */ #define __IRQT_RISEDGE (1 << 0) #define __IRQT_FALEDGE (1 << 1) #define __IRQT_HIGHLVL (1 << 2) #define __IRQT_LOWLVL (1 << 3) #define IRQT_NOEDGE (0) #define IRQT_RISING (__IRQT_RISEDGE) #define IRQT_FALLING (__IRQT_FALEDGE) #define IRQT_BOTHEDGE (__IRQT_RISEDGE|__IRQT_FALEDGE) #define IRQT_LOW (__IRQT_LOWLVL) #define IRQT_HIGH (__IRQT_HIGHLVL) #define IRQT_PROBE (1 << 4) int set_irq_type(unsigned int irq, unsigned int type); void disable_irq_wake(unsigned int irq); void enable_irq_wake(unsigned int irq); int setup_irq(unsigned int, struct irqaction *); struct irqaction; struct pt_regs; int handle_IRQ_event(unsigned int, struct pt_regs *, struct irqaction *); extern void migrate_irqs(void); #endif