1 #ifndef __ASM_ARM_IRQ_H 2 #define __ASM_ARM_IRQ_H 3 4 #define NR_IRQS_LEGACY 16 5 6 #ifndef CONFIG_SPARSE_IRQ 7 #include <mach/irqs.h> 8 #else 9 #define NR_IRQS NR_IRQS_LEGACY 10 #endif 11 12 #ifndef irq_canonicalize 13 #define irq_canonicalize(i) (i) 14 #endif 15 16 /* 17 * Use this value to indicate lack of interrupt 18 * capability 19 */ 20 #ifndef NO_IRQ 21 #define NO_IRQ ((unsigned int)(-1)) 22 #endif 23 24 #ifndef __ASSEMBLY__ 25 struct irqaction; 26 struct pt_regs; 27 28 extern void asm_do_IRQ(unsigned int, struct pt_regs *); 29 void handle_IRQ(unsigned int, struct pt_regs *); 30 void init_IRQ(void); 31 32 #ifdef CONFIG_MULTI_IRQ_HANDLER 33 extern void (*handle_arch_irq)(struct pt_regs *); 34 extern void set_handle_irq(void (*handle_irq)(struct pt_regs *)); 35 #endif 36 37 #ifdef CONFIG_SMP 38 extern void arch_trigger_all_cpu_backtrace(bool); 39 #define arch_trigger_all_cpu_backtrace(x) arch_trigger_all_cpu_backtrace(x) 40 #endif 41 nr_legacy_irqs(void)42static inline int nr_legacy_irqs(void) 43 { 44 return NR_IRQS_LEGACY; 45 } 46 47 #endif 48 49 #endif 50 51