linux/arch/m32r/kernel/irq.c
<<
>>
Prefs
   1// SPDX-License-Identifier: GPL-2.0
   2/*
   3 * linux/arch/m32r/kernel/irq.c
   4 *
   5 *  Copyright (c) 2003, 2004  Hitoshi Yamamoto
   6 *  Copyright (c) 2004  Hirokazu Takata <takata at linux-m32r.org>
   7 */
   8
   9/*
  10 *      linux/arch/i386/kernel/irq.c
  11 *
  12 *      Copyright (C) 1992, 1998 Linus Torvalds, Ingo Molnar
  13 *
  14 * This file contains the lowest level m32r-specific interrupt
  15 * entry and irq statistics code. All the remaining irq logic is
  16 * done by the generic kernel/irq/ code and in the
  17 * m32r-specific irq controller code.
  18 */
  19
  20#include <linux/kernel_stat.h>
  21#include <linux/interrupt.h>
  22#include <linux/module.h>
  23#include <linux/uaccess.h>
  24
  25/*
  26 * do_IRQ handles all normal device IRQs (the special
  27 * SMP cross-CPU interrupts have their own specific
  28 * handlers).
  29 */
  30asmlinkage unsigned int do_IRQ(int irq, struct pt_regs *regs)
  31{
  32        struct pt_regs *old_regs;
  33        old_regs = set_irq_regs(regs);
  34        irq_enter();
  35
  36#ifdef CONFIG_DEBUG_STACKOVERFLOW
  37        /* FIXME M32R */
  38#endif
  39        generic_handle_irq(irq);
  40        irq_exit();
  41        set_irq_regs(old_regs);
  42
  43        return 1;
  44}
  45