Merge tag 'ntb-3.13' of git://github.com/jonmason/ntb
[linux-drm-fsl-dcu.git] / arch / blackfin / include / asm / irq.h
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>
6  *
7  * Licensed under the GPL-2
8  */
9
10 #ifndef _BFIN_IRQ_H_
11 #define _BFIN_IRQ_H_
12
13 #include <linux/irqflags.h>
14
15 /* IRQs that may be used by external irq_chip controllers */
16 #define NR_SPARE_IRQS   32
17
18 #include <mach/anomaly.h>
19
20 /* SYS_IRQS and NR_IRQS are defined in <mach-bf5xx/irq.h> */
21 #include <mach/irq.h>
22
23 /*
24  * pm save bfin pint registers
25  */
26 struct adi_pm_pint_save {
27         u32 assign;
28         u32 edge_set;
29         u32 invert_set;
30 };
31
32 #if ANOMALY_05000244 && defined(CONFIG_BFIN_ICACHE)
33 # define NOP_PAD_ANOMALY_05000244 "nop; nop;"
34 #else
35 # define NOP_PAD_ANOMALY_05000244
36 #endif
37
38 #define idle_with_irq_disabled() \
39         __asm__ __volatile__( \
40                 NOP_PAD_ANOMALY_05000244 \
41                 ".align 8;" \
42                 "sti %0;" \
43                 "idle;" \
44                 : \
45                 : "d" (bfin_irq_flags) \
46         )
47
48 #include <asm-generic/irq.h>
49
50 #endif                          /* _BFIN_IRQ_H_ */