Warning: This file is not a C or C++ file. It does not have highlighting.
1 | /* SPDX-License-Identifier: GPL-2.0 */ |
---|---|
2 | #ifndef __ASM_SH_IRQ_H |
3 | #define __ASM_SH_IRQ_H |
4 | |
5 | #include <linux/cpumask.h> |
6 | #include <asm/machvec.h> |
7 | |
8 | /* |
9 | * This is a special IRQ number for indicating that no IRQ has been |
10 | * triggered and to simply ignore the IRQ dispatch. This is a special |
11 | * case that can happen with IRQ auto-distribution when multiple CPUs |
12 | * are woken up and signalled in parallel. |
13 | */ |
14 | #define NO_IRQ_IGNORE ((unsigned int)-1) |
15 | |
16 | /* |
17 | * Simple Mask Register Support |
18 | */ |
19 | extern void make_maskreg_irq(unsigned int irq); |
20 | extern unsigned short *irq_mask_register; |
21 | |
22 | /* |
23 | * PINT IRQs |
24 | */ |
25 | void make_imask_irq(unsigned int irq); |
26 | |
27 | static inline int generic_irq_demux(int irq) |
28 | { |
29 | return irq; |
30 | } |
31 | |
32 | #define irq_demux(irq) sh_mv.mv_irq_demux(irq) |
33 | |
34 | void init_IRQ(void); |
35 | void migrate_irqs(void); |
36 | |
37 | asmlinkage int do_IRQ(unsigned int irq, struct pt_regs *regs); |
38 | |
39 | #ifdef CONFIG_IRQSTACKS |
40 | extern void irq_ctx_init(int cpu); |
41 | extern void irq_ctx_exit(int cpu); |
42 | #else |
43 | # define irq_ctx_init(cpu) do { } while (0) |
44 | # define irq_ctx_exit(cpu) do { } while (0) |
45 | #endif |
46 | |
47 | #ifdef CONFIG_INTC_BALANCING |
48 | extern unsigned int irq_lookup(unsigned int irq); |
49 | extern void irq_finish(unsigned int irq); |
50 | #else |
51 | #define irq_lookup(irq) (irq) |
52 | #define irq_finish(irq) do { } while (0) |
53 | #endif |
54 | |
55 | #include <asm-generic/irq.h> |
56 | |
57 | #endif /* __ASM_SH_IRQ_H */ |
58 |
Warning: This file is not a C or C++ file. It does not have highlighting.