]>
Commit | Line | Data |
---|---|---|
2502b667 GU |
1 | /* |
2 | * irq.c | |
3 | * | |
4 | * (C) Copyright 2007, Greg Ungerer <gerg@snapgear.com> | |
5 | * | |
6 | * This file is subject to the terms and conditions of the GNU General Public | |
7 | * License. See the file COPYING in the main directory of this archive | |
8 | * for more details. | |
9 | */ | |
10 | ||
11 | #include <linux/types.h> | |
12 | #include <linux/init.h> | |
13 | #include <linux/kernel.h> | |
14 | #include <linux/kernel_stat.h> | |
15 | #include <linux/interrupt.h> | |
16 | #include <linux/irq.h> | |
17 | #include <linux/seq_file.h> | |
2502b667 GU |
18 | #include <asm/traps.h> |
19 | ||
20 | asmlinkage void do_IRQ(int irq, struct pt_regs *regs) | |
21 | { | |
22 | struct pt_regs *oldregs = set_irq_regs(regs); | |
23 | ||
24 | irq_enter(); | |
454dc5f8 | 25 | generic_handle_irq(irq); |
2502b667 GU |
26 | irq_exit(); |
27 | ||
28 | set_irq_regs(oldregs); | |
29 | } | |
8c9f08f9 GU |
30 | |
31 | ||
32 | /* The number of spurious interrupts */ | |
33 | atomic_t irq_err_count; | |
34 | ||
35 | int arch_show_interrupts(struct seq_file *p, int prec) | |
36 | { | |
37 | seq_printf(p, "%*s: %10u\n", prec, "ERR", atomic_read(&irq_err_count)); | |
38 | return 0; | |
39 | } |