1 #ifndef __ASM_ARM_IRQ_H
2 #define __ASM_ARM_IRQ_H
4 #include <asm/arch/irqs.h>
6 #ifndef irq_canonicalize
7 #define irq_canonicalize(i) (i)
15 * Use this value to indicate lack of interrupt
19 #define NO_IRQ ((unsigned int)(-1))
24 extern void disable_irq_nosync(unsigned int);
25 extern void disable_irq(unsigned int);
26 extern void enable_irq(unsigned int);
29 * These correspond with the SA_TRIGGER_* defines, and therefore the
30 * IRQRESOURCE_IRQ_* defines.
32 #define __IRQT_RISEDGE (1 << 0)
33 #define __IRQT_FALEDGE (1 << 1)
34 #define __IRQT_HIGHLVL (1 << 2)
35 #define __IRQT_LOWLVL (1 << 3)
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)
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
*);
52 int handle_IRQ_event(unsigned int, struct pt_regs
*, struct irqaction
*);
54 extern void migrate_irqs(void);