xref: /openbmc/linux/arch/arm/include/asm/irq.h (revision 9a01c3ed5cdb35d9004eb92510ee6ea11b4a5f16)
14baa9922SRussell King #ifndef __ASM_ARM_IRQ_H
24baa9922SRussell King #define __ASM_ARM_IRQ_H
34baa9922SRussell King 
4a2be01b1SRob Herring #define NR_IRQS_LEGACY	16
5a2be01b1SRob Herring 
6a2be01b1SRob Herring #ifndef CONFIG_SPARSE_IRQ
7a09e64fbSRussell King #include <mach/irqs.h>
8a2be01b1SRob Herring #else
9a2be01b1SRob Herring #define NR_IRQS NR_IRQS_LEGACY
10a2be01b1SRob Herring #endif
114baa9922SRussell King 
124baa9922SRussell King #ifndef irq_canonicalize
134baa9922SRussell King #define irq_canonicalize(i)	(i)
144baa9922SRussell King #endif
154baa9922SRussell King 
164baa9922SRussell King /*
174baa9922SRussell King  * Use this value to indicate lack of interrupt
184baa9922SRussell King  * capability
194baa9922SRussell King  */
204baa9922SRussell King #ifndef NO_IRQ
214baa9922SRussell King #define NO_IRQ	((unsigned int)(-1))
224baa9922SRussell King #endif
234baa9922SRussell King 
244baa9922SRussell King #ifndef __ASSEMBLY__
254baa9922SRussell King struct irqaction;
26aedceb2aSviresh kumar struct pt_regs;
274baa9922SRussell King extern void migrate_irqs(void);
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 
33f36a3bb1SCatalin Marinas #ifdef CONFIG_MULTI_IRQ_HANDLER
34f36a3bb1SCatalin Marinas extern void (*handle_arch_irq)(struct pt_regs *);
35f36a3bb1SCatalin Marinas extern void set_handle_irq(void (*handle_irq)(struct pt_regs *));
36f36a3bb1SCatalin Marinas #endif
37f36a3bb1SCatalin Marinas 
3896f0e003SRussell King #ifdef CONFIG_SMP
39*9a01c3edSChris Metcalf extern void arch_trigger_cpumask_backtrace(const cpumask_t *mask,
40*9a01c3edSChris Metcalf 					   bool exclude_self);
41*9a01c3edSChris Metcalf #define arch_trigger_cpumask_backtrace arch_trigger_cpumask_backtrace
4296f0e003SRussell King #endif
4396f0e003SRussell King 
44b4ff8389SBoris Ostrovsky static inline int nr_legacy_irqs(void)
45b4ff8389SBoris Ostrovsky {
46b4ff8389SBoris Ostrovsky 	return NR_IRQS_LEGACY;
47b4ff8389SBoris Ostrovsky }
48b4ff8389SBoris Ostrovsky 
494baa9922SRussell King #endif
504baa9922SRussell King 
514baa9922SRussell King #endif
524baa9922SRussell King 
53