blob: 1b882a255e3515861f9fe58a6112ca747ad54ec3 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001#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
Linus Torvalds1da177e2005-04-16 15:20:36 -070022
Russell King9ded96f2006-01-08 01:02:07 -080023/*
Thomas Gleixner4a2581a2006-07-01 22:30:09 +010024 * Migration helpers
Russell King9ded96f2006-01-08 01:02:07 -080025 */
Thomas Gleixner4a2581a2006-07-01 22:30:09 +010026#define __IRQT_FALEDGE IRQ_TYPE_EDGE_FALLING
27#define __IRQT_RISEDGE IRQ_TYPE_EDGE_RISING
28#define __IRQT_LOWLVL IRQ_TYPE_LEVEL_LOW
29#define __IRQT_HIGHLVL IRQ_TYPE_LEVEL_HIGH
Linus Torvalds1da177e2005-04-16 15:20:36 -070030
31#define IRQT_NOEDGE (0)
32#define IRQT_RISING (__IRQT_RISEDGE)
33#define IRQT_FALLING (__IRQT_FALEDGE)
34#define IRQT_BOTHEDGE (__IRQT_RISEDGE|__IRQT_FALEDGE)
35#define IRQT_LOW (__IRQT_LOWLVL)
36#define IRQT_HIGH (__IRQT_HIGHLVL)
Thomas Gleixner4a2581a2006-07-01 22:30:09 +010037#define IRQT_PROBE IRQ_TYPE_PROBE
Linus Torvalds1da177e2005-04-16 15:20:36 -070038
Arnaud Patard431d2cd2006-12-27 22:56:44 +010039#ifndef __ASSEMBLY__
40struct irqaction;
Russell Kinga054a812005-11-02 22:24:33 +000041extern void migrate_irqs(void);
Linus Torvalds1da177e2005-04-16 15:20:36 -070042#endif
43
Arnaud Patard431d2cd2006-12-27 22:56:44 +010044#endif
45