Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
[cris-mirror.git] / arch / riscv / kernel / irq.c
blob328718e8026e174a6887df75cbc1c7d08082d852
1 /*
2 * Copyright (C) 2012 Regents of the University of California
3 * Copyright (C) 2017 SiFive
5 * This program is free software; you can redistribute it and/or
6 * modify it under the terms of the GNU General Public License
7 * as published by the Free Software Foundation, version 2.
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
15 #include <linux/interrupt.h>
16 #include <linux/irqchip.h>
17 #include <linux/irqdomain.h>
19 #ifdef CONFIG_RISCV_INTC
20 #include <linux/irqchip/irq-riscv-intc.h>
21 #endif
23 void __init init_IRQ(void)
25 irqchip_init();
28 asmlinkage void __irq_entry do_IRQ(unsigned int cause, struct pt_regs *regs)
30 #ifdef CONFIG_RISCV_INTC
32 * FIXME: We don't want a direct call to riscv_intc_irq here. The plan
33 * is to put an IRQ domain here and let the interrupt controller
34 * register with that, but I poked around the arm64 code a bit and
35 * there might be a better way to do it (ie, something fully generic).
37 riscv_intc_irq(cause, regs);
38 #endif