Commit | Line | Data |
---|---|---|
9a8fd558 CZ |
1 | /* |
2 | * include/asm-xtensa/irq.h | |
3 | * | |
4 | * This file is subject to the terms and conditions of the GNU General Public | |
5 | * License. See the file "COPYING" in the main directory of this archive | |
6 | * for more details. | |
7 | * | |
8 | * Copyright (C) 2001 - 2005 Tensilica Inc. | |
9 | */ | |
10 | ||
11 | #ifndef _XTENSA_IRQ_H | |
12 | #define _XTENSA_IRQ_H | |
13 | ||
1beee210 | 14 | #include <linux/init.h> |
367b8112 CZ |
15 | #include <platform/hardware.h> |
16 | #include <variant/core.h> | |
9a8fd558 | 17 | |
4c0d2141 JW |
18 | #ifdef CONFIG_VARIANT_IRQ_SWITCH |
19 | #include <variant/irq.h> | |
20 | #else | |
21 | static inline void variant_irq_enable(unsigned int irq) { } | |
22 | static inline void variant_irq_disable(unsigned int irq) { } | |
23 | #endif | |
24 | ||
1beee210 DG |
25 | #ifndef VARIANT_NR_IRQS |
26 | # define VARIANT_NR_IRQS 0 | |
27 | #endif | |
9a8fd558 CZ |
28 | #ifndef PLATFORM_NR_IRQS |
29 | # define PLATFORM_NR_IRQS 0 | |
30 | #endif | |
31 | #define XTENSA_NR_IRQS XCHAL_NUM_INTERRUPTS | |
1beee210 DG |
32 | #define NR_IRQS (XTENSA_NR_IRQS + VARIANT_NR_IRQS + PLATFORM_NR_IRQS) |
33 | ||
34 | #if VARIANT_NR_IRQS == 0 | |
35 | static inline void variant_init_irq(void) { } | |
36 | #else | |
37 | void variant_init_irq(void) __init; | |
38 | #endif | |
9a8fd558 CZ |
39 | |
40 | static __inline__ int irq_canonicalize(int irq) | |
41 | { | |
42 | return (irq); | |
43 | } | |
44 | ||
45 | struct irqaction; | |
cbd1de2e MF |
46 | struct irq_domain; |
47 | ||
49b424fe | 48 | void migrate_irqs(void); |
cbd1de2e MF |
49 | int xtensa_irq_domain_xlate(const u32 *intspec, unsigned int intsize, |
50 | unsigned long int_irq, unsigned long ext_irq, | |
51 | unsigned long *out_hwirq, unsigned int *out_type); | |
52 | int xtensa_irq_map(struct irq_domain *d, unsigned int irq, irq_hw_number_t hw); | |
53 | unsigned xtensa_map_ext_irq(unsigned ext_irq); | |
26a8e96a | 54 | unsigned xtensa_get_ext_irq_no(unsigned irq); |
9a8fd558 CZ |
55 | |
56 | #endif /* _XTENSA_IRQ_H */ |