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#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 28 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) \ 37 ) 38 39#include <asm-generic/irq.h> 40 41#ifdef CONFIG_NMI_WATCHDOG 42# define ARCH_HAS_NMI_WATCHDOG 43#endif 44 45#endif /* _BFIN_IRQ_H_ */ 46