xref: /openbmc/linux/arch/arm/include/asm/irq.h (revision 7fd70c65faacd39628ba5f670be6490010c8132f)
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 
29446616dbSRussell King extern void asm_do_IRQ(unsigned int, struct pt_regs *);
30a4841e39SRussell King - ARM Linux void handle_IRQ(unsigned int, struct pt_regs *);
31446616dbSRussell King void init_IRQ(void);
32446616dbSRussell King 
3396f0e003SRussell King #ifdef CONFIG_SMP
34*7fd70c65SThomas Gleixner #include <linux/cpumask.h>
35*7fd70c65SThomas Gleixner 
369a01c3edSChris Metcalf extern void arch_trigger_cpumask_backtrace(const cpumask_t *mask,
379a01c3edSChris Metcalf 					   bool exclude_self);
389a01c3edSChris Metcalf #define arch_trigger_cpumask_backtrace arch_trigger_cpumask_backtrace
3996f0e003SRussell King #endif
4096f0e003SRussell King 
41b4ff8389SBoris Ostrovsky static inline int nr_legacy_irqs(void)
42b4ff8389SBoris Ostrovsky {
43b4ff8389SBoris Ostrovsky 	return NR_IRQS_LEGACY;
44b4ff8389SBoris Ostrovsky }
45b4ff8389SBoris Ostrovsky 
464baa9922SRussell King #endif
474baa9922SRussell King 
484baa9922SRussell King #endif
494baa9922SRussell King 
50