• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 bfin_pm_pint_save {
27 	u32 mask_set;
28 	u32 assign;
29 	u32 edge_set;
30 	u32 invert_set;
31 };
32 
33 #if ANOMALY_05000244 && defined(CONFIG_BFIN_ICACHE)
34 # define NOP_PAD_ANOMALY_05000244 "nop; nop;"
35 #else
36 # define NOP_PAD_ANOMALY_05000244
37 #endif
38 
39 #define idle_with_irq_disabled() \
40 	__asm__ __volatile__( \
41 		NOP_PAD_ANOMALY_05000244 \
42 		".align 8;" \
43 		"sti %0;" \
44 		"idle;" \
45 		: \
46 		: "d" (bfin_irq_flags) \
47 	)
48 
49 #include <asm-generic/irq.h>
50 
51 #endif				/* _BFIN_IRQ_H_ */
52