Linux 2.6.39-rc2
[pohmelfs.git] / arch / blackfin / include / asm / irq.h
blob12f4060a31b034e9cd7190b075da6f58d6d4abaa
1 /*
2 * Copyright 2004-2009 Analog Devices Inc.
3 * 2003 HuTao
4 * 2002 Arcturus Networks Inc. (www.arcturusnetworks.com
5 * Ted Ma <mated@sympatico.ca>
7 * Licensed under the GPL-2
8 */
10 #ifndef _BFIN_IRQ_H_
11 #define _BFIN_IRQ_H_
13 #include <linux/irqflags.h>
15 /* IRQs that may be used by external irq_chip controllers */
16 #define NR_SPARE_IRQS 32
18 #include <mach/anomaly.h>
20 /* SYS_IRQS and NR_IRQS are defined in <mach-bf5xx/irq.h> */
21 #include <mach/irq.h>
23 #if ANOMALY_05000244 && defined(CONFIG_BFIN_ICACHE)
24 # define NOP_PAD_ANOMALY_05000244 "nop; nop;"
25 #else
26 # define NOP_PAD_ANOMALY_05000244
27 #endif
29 #define idle_with_irq_disabled() \
30 __asm__ __volatile__( \
31 NOP_PAD_ANOMALY_05000244 \
32 ".align 8;" \
33 "sti %0;" \
34 "idle;" \
35 : \
36 : "d" (bfin_irq_flags) \
39 #include <asm-generic/irq.h>
41 #ifdef CONFIG_NMI_WATCHDOG
42 # define ARCH_HAS_NMI_WATCHDOG
43 #endif
45 #endif /* _BFIN_IRQ_H_ */