Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
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 */
26struct 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_ */