~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/arch/arc/kernel/irq.c

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /arch/arc/kernel/irq.c (Architecture ppc) and /arch/m68k/kernel/irq.c (Architecture m68k)


  1 // SPDX-License-Identifier: GPL-2.0-only       << 
  2 /*                                                  1 /*
  3  * Copyright (C) 2011-12 Synopsys, Inc. (www.s !!   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.
  4  */                                                 9  */
  5                                                    10 
                                                   >>  11 #include <linux/types.h>
                                                   >>  12 #include <linux/init.h>
                                                   >>  13 #include <linux/kernel.h>
                                                   >>  14 #include <linux/kernel_stat.h>
  6 #include <linux/interrupt.h>                       15 #include <linux/interrupt.h>
  7 #include <linux/irqchip.h>                     !!  16 #include <linux/irq.h>
  8 #include <asm/mach_desc.h>                     !!  17 #include <linux/seq_file.h>
                                                   >>  18 #include <asm/traps.h>
  9                                                    19 
 10 #include <asm/irq_regs.h>                      !!  20 asmlinkage void do_IRQ(int irq, struct pt_regs *regs)
 11 #include <asm/smp.h>                           << 
 12                                                << 
 13 /*                                             << 
 14  * Late Interrupt system init called from star << 
 15  *                                             << 
 16  * Since slab must already be initialized, pla << 
 17  * needed request_irq( )s                      << 
 18  */                                            << 
 19 void __init init_IRQ(void)                     << 
 20 {                                                  21 {
 21         /*                                     !!  22         struct pt_regs *oldregs = set_irq_regs(regs);
 22          * process the entire interrupt tree i !!  23 
 23          * Any external intc will be setup pro !!  24         irq_enter();
 24          * properly                            !!  25         generic_handle_irq(irq);
 25          */                                    !!  26         irq_exit();
 26         irqchip_init();                        << 
 27                                                << 
 28 #ifdef CONFIG_SMP                              << 
 29         /* a SMP H/w block could do IPI IRQ re << 
 30         if (plat_smp_ops.init_per_cpu)         << 
 31                 plat_smp_ops.init_per_cpu(smp_ << 
 32 #endif                                         << 
 33                                                    27 
 34         if (machine_desc->init_per_cpu)        !!  28         set_irq_regs(oldregs);
 35                 machine_desc->init_per_cpu(smp << 
 36 }                                                  29 }
 37                                                    30 
 38 /*                                             << 
 39  * "C" Entry point for any ARC ISR, called fro << 
 40  * @irq is the vector number read from ICAUSE  << 
 41  */                                            << 
 42 void arch_do_IRQ(unsigned int hwirq, struct pt << 
 43 {                                              << 
 44         struct pt_regs *old_regs;              << 
 45                                                    31 
 46         irq_enter();                           !!  32 /* The number of spurious interrupts */
 47         old_regs = set_irq_regs(regs);         !!  33 atomic_t irq_err_count;
 48         generic_handle_domain_irq(NULL, hwirq) !!  34 
 49         set_irq_regs(old_regs);                !!  35 int arch_show_interrupts(struct seq_file *p, int prec)
 50         irq_exit();                            !!  36 {
                                                   >>  37         seq_printf(p, "%*s: %10u\n", prec, "ERR", atomic_read(&irq_err_count));
                                                   >>  38         return 0;
 51 }                                                  39 }
 52                                                    40 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php