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 #endif /* _BFIN_IRQ_H_ */ 42