Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/arch/m68k/kernel/irq.c
26444 views
1
/*
2
* irq.c
3
*
4
* (C) Copyright 2007, Greg Ungerer <[email protected]>
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>
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();
25
generic_handle_irq(irq);
26
irq_exit();
27
28
set_irq_regs(oldregs);
29
}
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
}
40
41