mirror of
https://github.com/torvalds/linux.git
synced 2024-11-01 13:03:25 +01:00
835a486cd9
All RISC-V platforms have a single HW IPI provided by the INTC local interrupt controller. The HW method to trigger INTC IPI can be through external irqchip (e.g. RISC-V AIA), through platform specific device (e.g. SiFive CLINT timer), or through firmware (e.g. SBI IPI call). To support multiple IPIs on RISC-V, add a generic IPI multiplexing mechanism which help us create multiple virtual IPIs using a single HW IPI. This generic IPI multiplexing is inspired by the Apple AIC irqchip driver and it is shared by various RISC-V irqchip drivers. Signed-off-by: Anup Patel <apatel@ventanamicro.com> Reviewed-by: Hector Martin <marcan@marcan.st> Tested-by: Hector Martin <marcan@marcan.st> Signed-off-by: Marc Zyngier <maz@kernel.org> Link: https://lore.kernel.org/r/20230103141221.772261-4-apatel@ventanamicro.com
21 lines
825 B
Makefile
21 lines
825 B
Makefile
# SPDX-License-Identifier: GPL-2.0
|
|
|
|
obj-y := irqdesc.o handle.o manage.o spurious.o resend.o chip.o dummychip.o devres.o
|
|
obj-$(CONFIG_IRQ_TIMINGS) += timings.o
|
|
ifeq ($(CONFIG_TEST_IRQ_TIMINGS),y)
|
|
CFLAGS_timings.o += -DDEBUG
|
|
endif
|
|
obj-$(CONFIG_GENERIC_IRQ_CHIP) += generic-chip.o
|
|
obj-$(CONFIG_GENERIC_IRQ_PROBE) += autoprobe.o
|
|
obj-$(CONFIG_IRQ_DOMAIN) += irqdomain.o
|
|
obj-$(CONFIG_IRQ_SIM) += irq_sim.o
|
|
obj-$(CONFIG_PROC_FS) += proc.o
|
|
obj-$(CONFIG_GENERIC_PENDING_IRQ) += migration.o
|
|
obj-$(CONFIG_GENERIC_IRQ_MIGRATION) += cpuhotplug.o
|
|
obj-$(CONFIG_PM_SLEEP) += pm.o
|
|
obj-$(CONFIG_GENERIC_MSI_IRQ) += msi.o
|
|
obj-$(CONFIG_GENERIC_IRQ_IPI) += ipi.o
|
|
obj-$(CONFIG_GENERIC_IRQ_IPI_MUX) += ipi-mux.o
|
|
obj-$(CONFIG_SMP) += affinity.o
|
|
obj-$(CONFIG_GENERIC_IRQ_DEBUGFS) += debugfs.o
|
|
obj-$(CONFIG_GENERIC_IRQ_MATRIX_ALLOCATOR) += matrix.o
|