]>
Commit | Line | Data |
---|---|---|
fb9bd7d6 MZ |
1 | /* |
2 | * Copyright (C) 2012 ARM Ltd. | |
3 | * | |
4 | * This program is free software; you can redistribute it and/or modify | |
5 | * it under the terms of the GNU General Public License version 2 as | |
6 | * published by the Free Software Foundation. | |
7 | * | |
8 | * This program is distributed in the hope that it will be useful, | |
9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | |
10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
11 | * GNU General Public License for more details. | |
12 | * | |
13 | * You should have received a copy of the GNU General Public License | |
14 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | |
15 | */ | |
16 | #ifndef __ASM_HARDIRQ_H | |
17 | #define __ASM_HARDIRQ_H | |
18 | ||
19 | #include <linux/cache.h> | |
20 | #include <linux/threads.h> | |
21 | #include <asm/irq.h> | |
22 | ||
5e89c55e | 23 | #define NR_IPI 6 |
08e875c1 | 24 | |
fb9bd7d6 MZ |
25 | typedef struct { |
26 | unsigned int __softirq_pending; | |
08e875c1 | 27 | unsigned int ipi_irqs[NR_IPI]; |
fb9bd7d6 MZ |
28 | } ____cacheline_aligned irq_cpustat_t; |
29 | ||
30 | #include <linux/irq_cpustat.h> /* Standard mappings for irq_cpustat_t above */ | |
31 | ||
32 | #define __inc_irq_stat(cpu, member) __IRQ_STAT(cpu, member)++ | |
33 | #define __get_irq_stat(cpu, member) __IRQ_STAT(cpu, member) | |
34 | ||
fb9bd7d6 MZ |
35 | u64 smp_irq_stat_cpu(unsigned int cpu); |
36 | #define arch_irq_stat_cpu smp_irq_stat_cpu | |
fb9bd7d6 MZ |
37 | |
38 | #define __ARCH_IRQ_EXIT_IRQS_DISABLED 1 | |
39 | ||
40 | static inline void ack_bad_irq(unsigned int irq) | |
41 | { | |
42 | extern unsigned long irq_err_count; | |
43 | irq_err_count++; | |
44 | } | |
45 | ||
fb9bd7d6 | 46 | #endif /* __ASM_HARDIRQ_H */ |