irqchip: RISC-V per-HART local interrupt controller driver
authorAnup Patel <anup.patel@wdc.com>
Mon, 1 Jun 2020 09:15:40 +0000 (14:45 +0530)
committerPalmer Dabbelt <palmerdabbelt@google.com>
Wed, 10 Jun 2020 02:11:21 +0000 (19:11 -0700)
commit6b7ce8927b5a4d739670d4dc0de301f2abfd9a5c
tree114283592a0541d13736f2f77cd8df5004d48df3
parentd175d699df07041befda3779f29bf7126c298730
irqchip: RISC-V per-HART local interrupt controller driver

The RISC-V per-HART local interrupt controller manages software
interrupts, timer interrupts, external interrupts (which are routed
via the platform level interrupt controller) and other per-HART
local interrupts.

We add a driver for the RISC-V local interrupt controller, which
eventually replaces the RISC-V architecture code, allowing for a
better split between arch code and drivers.

The driver is compliant with RISC-V Hart-Level Interrupt Controller
DT bindings located at:
Documentation/devicetree/bindings/interrupt-controller/riscv,cpu-intc.txt

Co-developed-by: Palmer Dabbelt <palmer@dabbelt.com>
Signed-off-by: Anup Patel <anup.patel@wdc.com>
[Palmer: Cleaned up warnings]
Signed-off-by: Palmer Dabbelt <palmer@dabbelt.com>
arch/riscv/Kconfig
arch/riscv/include/asm/irq.h
arch/riscv/kernel/irq.c
arch/riscv/kernel/traps.c
drivers/irqchip/Kconfig
drivers/irqchip/Makefile
drivers/irqchip/irq-riscv-intc.c [new file with mode: 0644]
drivers/irqchip/irq-sifive-plic.c
include/linux/cpuhotplug.h