]> Git Repo - linux.git/blob - arch/riscv/kernel/irq.c
Merge tag 'amd-drm-next-6.5-2023-06-09' of https://gitlab.freedesktop.org/agd5f/linux...
[linux.git] / arch / riscv / kernel / irq.c
1 // SPDX-License-Identifier: GPL-2.0
2 /*
3  * Copyright (C) 2012 Regents of the University of California
4  * Copyright (C) 2017 SiFive
5  * Copyright (C) 2018 Christoph Hellwig
6  */
7
8 #include <linux/interrupt.h>
9 #include <linux/irqchip.h>
10 #include <linux/irqdomain.h>
11 #include <linux/module.h>
12 #include <linux/seq_file.h>
13 #include <asm/sbi.h>
14
15 static struct fwnode_handle *(*__get_intc_node)(void);
16
17 void riscv_set_intc_hwnode_fn(struct fwnode_handle *(*fn)(void))
18 {
19         __get_intc_node = fn;
20 }
21
22 struct fwnode_handle *riscv_get_intc_hwnode(void)
23 {
24         if (__get_intc_node)
25                 return __get_intc_node();
26
27         return NULL;
28 }
29 EXPORT_SYMBOL_GPL(riscv_get_intc_hwnode);
30
31 int arch_show_interrupts(struct seq_file *p, int prec)
32 {
33         show_ipi_stats(p, prec);
34         return 0;
35 }
36
37 void __init init_IRQ(void)
38 {
39         irqchip_init();
40         if (!handle_arch_irq)
41                 panic("No interrupt controller found.");
42         sbi_ipi_init();
43 }
This page took 0.033383 seconds and 4 git commands to generate.