]> git.proxmox.com Git - mirror_ubuntu-bionic-kernel.git/blame - arch/arm/include/asm/irq.h
UBUNTU: Ubuntu-4.15.0-96.97
[mirror_ubuntu-bionic-kernel.git] / arch / arm / include / asm / irq.h
CommitLineData
b2441318 1/* SPDX-License-Identifier: GPL-2.0 */
1da177e4
LT
2#ifndef __ASM_ARM_IRQ_H
3#define __ASM_ARM_IRQ_H
4
a2be01b1
RH
5#define NR_IRQS_LEGACY 16
6
7#ifndef CONFIG_SPARSE_IRQ
a09e64fb 8#include <mach/irqs.h>
a2be01b1
RH
9#else
10#define NR_IRQS NR_IRQS_LEGACY
11#endif
1da177e4
LT
12
13#ifndef irq_canonicalize
14#define irq_canonicalize(i) (i)
15#endif
16
1da177e4
LT
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
431d2cd9
AP
25#ifndef __ASSEMBLY__
26struct irqaction;
aedceb2a 27struct pt_regs;
446616db
RK
28
29extern void asm_do_IRQ(unsigned int, struct pt_regs *);
a4841e39 30void handle_IRQ(unsigned int, struct pt_regs *);
446616db
RK
31void init_IRQ(void);
32
f36a3bb1
CM
33#ifdef CONFIG_MULTI_IRQ_HANDLER
34extern void (*handle_arch_irq)(struct pt_regs *);
35extern void set_handle_irq(void (*handle_irq)(struct pt_regs *));
36#endif
37
96f0e003 38#ifdef CONFIG_SMP
9a01c3ed
CM
39extern void arch_trigger_cpumask_backtrace(const cpumask_t *mask,
40 bool exclude_self);
41#define arch_trigger_cpumask_backtrace arch_trigger_cpumask_backtrace
96f0e003
RK
42#endif
43
b4ff8389
BO
44static inline int nr_legacy_irqs(void)
45{
46 return NR_IRQS_LEGACY;
47}
48
1da177e4
LT
49#endif
50
431d2cd9
AP
51#endif
52