blob: 6ec2a0749ee6d7f10050f915abbb81bbce3f133c [file] [log] [blame]
Bryan Wu1394f032007-05-06 14:50:22 -07001/*
Robin Getz96f10502009-09-24 14:11:24 +00002 * Copyright 2004-2009 Analog Devices Inc.
3 * 2003 HuTao
4 * 2002 Arcturus Networks Inc. (www.arcturusnetworks.com
5 * Ted Ma <mated@sympatico.ca>
Bryan Wu1394f032007-05-06 14:50:22 -07006 *
Robin Getz96f10502009-09-24 14:11:24 +00007 * Licensed under the GPL-2
Bryan Wu1394f032007-05-06 14:50:22 -07008 */
9
10#ifndef _BFIN_IRQ_H_
11#define _BFIN_IRQ_H_
12
Mike Frysinger8f860012009-06-08 12:49:48 -040013#include <linux/irqflags.h>
14
15/* SYS_IRQS and NR_IRQS are defined in <mach-bf5xx/irq.h> */
Bryan Wu639f6572008-08-27 10:51:02 +080016#include <mach/irq.h>
Bryan Wu1394f032007-05-06 14:50:22 -070017
Yi Li6a01f232009-01-07 23:14:39 +080018#if ANOMALY_05000244 && defined(CONFIG_BFIN_ICACHE)
19# define NOP_PAD_ANOMALY_05000244 "nop; nop;"
20#else
21# define NOP_PAD_ANOMALY_05000244
22#endif
23
24#define idle_with_irq_disabled() \
25 __asm__ __volatile__( \
26 NOP_PAD_ANOMALY_05000244 \
27 ".align 8;" \
28 "sti %0;" \
29 "idle;" \
30 : \
31 : "d" (bfin_irq_flags) \
32 )
33
Mike Frysingerd5ce5282009-06-13 11:32:34 -040034#include <asm-generic/irq.h>
Yi Li6a01f232009-01-07 23:14:39 +080035
Bryan Wu1394f032007-05-06 14:50:22 -070036#endif /* _BFIN_IRQ_H_ */