1b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */ 24baa9922SRussell King #ifndef __ASM_ARM_IRQ_H 34baa9922SRussell King #define __ASM_ARM_IRQ_H 44baa9922SRussell King 5a2be01b1SRob Herring #define NR_IRQS_LEGACY 16 6a2be01b1SRob Herring 7a2be01b1SRob Herring #ifndef CONFIG_SPARSE_IRQ 8a09e64fbSRussell King #include <mach/irqs.h> 9a2be01b1SRob Herring #else 10a2be01b1SRob Herring #define NR_IRQS NR_IRQS_LEGACY 11a2be01b1SRob Herring #endif 124baa9922SRussell King 134baa9922SRussell King #ifndef irq_canonicalize 144baa9922SRussell King #define irq_canonicalize(i) (i) 154baa9922SRussell King #endif 164baa9922SRussell King 174baa9922SRussell King /* 184baa9922SRussell King * Use this value to indicate lack of interrupt 194baa9922SRussell King * capability 204baa9922SRussell King */ 214baa9922SRussell King #ifndef NO_IRQ 224baa9922SRussell King #define NO_IRQ ((unsigned int)(-1)) 234baa9922SRussell King #endif 244baa9922SRussell King 254baa9922SRussell King #ifndef __ASSEMBLY__ 264baa9922SRussell King struct irqaction; 27aedceb2aSviresh kumar struct pt_regs; 28446616dbSRussell King 29a4841e39SRussell King - ARM Linux void handle_IRQ(unsigned int, struct pt_regs *); 30446616dbSRussell King 3196f0e003SRussell King #ifdef CONFIG_SMP 327fd70c65SThomas Gleixner #include <linux/cpumask.h> 337fd70c65SThomas Gleixner 349a01c3edSChris Metcalf extern void arch_trigger_cpumask_backtrace(const cpumask_t *mask, 35*8d539b84SDouglas Anderson int exclude_cpu); 369a01c3edSChris Metcalf #define arch_trigger_cpumask_backtrace arch_trigger_cpumask_backtrace 3796f0e003SRussell King #endif 3896f0e003SRussell King nr_legacy_irqs(void)39b4ff8389SBoris Ostrovskystatic inline int nr_legacy_irqs(void) 40b4ff8389SBoris Ostrovsky { 41b4ff8389SBoris Ostrovsky return NR_IRQS_LEGACY; 42b4ff8389SBoris Ostrovsky } 43b4ff8389SBoris Ostrovsky 444baa9922SRussell King #endif 454baa9922SRussell King 464baa9922SRussell King #endif 474baa9922SRussell King 48