1 // SPDX-License-Identifier: GPL-2.0 !! 1 /* 2 // Copyright (C) 2018 Hangzhou C-SKY Microsyst !! 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 */ 3 10 >> 11 #include <linux/types.h> 4 #include <linux/init.h> 12 #include <linux/init.h> >> 13 #include <linux/kernel.h> >> 14 #include <linux/kernel_stat.h> 5 #include <linux/interrupt.h> 15 #include <linux/interrupt.h> 6 #include <linux/irq.h> 16 #include <linux/irq.h> 7 #include <linux/irqchip.h> !! 17 #include <linux/seq_file.h> 8 #include <asm/traps.h> 18 #include <asm/traps.h> 9 #include <asm/smp.h> << 10 19 11 void __init init_IRQ(void) !! 20 asmlinkage void do_IRQ(int irq, struct pt_regs *regs) 12 { 21 { 13 irqchip_init(); !! 22 struct pt_regs *oldregs = set_irq_regs(regs); 14 #ifdef CONFIG_SMP !! 23 15 setup_smp_ipi(); !! 24 irq_enter(); 16 #endif !! 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; 17 } 39 } 18 40
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.