Linux-2.6.12-rc2
[linux-2.6/linux-acpi-2.6/ibm-acpi-2.6.git] / include / asm-arm / irq.h
blobf97912fbb10ffe6e7f15d6ac1b84c55683f23002
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)
8 #endif
10 #ifndef NR_IRQS
11 #define NR_IRQS 128
12 #endif
15 * Use this value to indicate lack of interrupt
16 * capability
18 #ifndef NO_IRQ
19 #define NO_IRQ ((unsigned int)(-1))
20 #endif
22 struct irqaction;
24 extern void disable_irq_nosync(unsigned int);
25 extern void disable_irq(unsigned int);
26 extern void enable_irq(unsigned int);
28 #define __IRQT_FALEDGE (1 << 0)
29 #define __IRQT_RISEDGE (1 << 1)
30 #define __IRQT_LOWLVL (1 << 2)
31 #define __IRQT_HIGHLVL (1 << 3)
33 #define IRQT_NOEDGE (0)
34 #define IRQT_RISING (__IRQT_RISEDGE)
35 #define IRQT_FALLING (__IRQT_FALEDGE)
36 #define IRQT_BOTHEDGE (__IRQT_RISEDGE|__IRQT_FALEDGE)
37 #define IRQT_LOW (__IRQT_LOWLVL)
38 #define IRQT_HIGH (__IRQT_HIGHLVL)
39 #define IRQT_PROBE (1 << 4)
41 int set_irq_type(unsigned int irq, unsigned int type);
42 void disable_irq_wake(unsigned int irq);
43 void enable_irq_wake(unsigned int irq);
44 int setup_irq(unsigned int, struct irqaction *);
46 struct irqaction;
47 struct pt_regs;
48 int handle_IRQ_event(unsigned int, struct pt_regs *, struct irqaction *);
50 #endif