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