summaryrefslogtreecommitdiff
path: root/lib/utils
diff options
context:
space:
mode:
authorAnup Patel <[email protected]>2022-08-08 09:33:52 +0530
committerAnup Patel <[email protected]>2022-08-08 09:33:52 +0530
commit0b1cf2f64519887188c83d17d21302580a6c970e (patch)
treefc571cca4003555b9e4ba8aa3eca6866e0df66a4 /lib/utils
parent76af9d40da21c4c67efb7730de263f914452fca0 (diff)
lib: utils/irqchip: Use kconfig for enabling/disabling drivers
We update irqchip drivers makefile to use kconfig for enabling/disabling drivers. To avoid compile errors, we also enable appropriate irqchip drivers for each platform. Signed-off-by: Anup Patel <[email protected]> Tested-by: Andrew Jones <[email protected]> Acked-by: Atish Patra <[email protected]> Tested-by: Atish Patra <[email protected]>
Diffstat (limited to 'lib/utils')
-rw-r--r--lib/utils/Kconfig2
-rw-r--r--lib/utils/irqchip/Kconfig40
-rw-r--r--lib/utils/irqchip/objects.mk22
3 files changed, 53 insertions, 11 deletions
diff --git a/lib/utils/Kconfig b/lib/utils/Kconfig
index 50d97704..3f315fd9 100644
--- a/lib/utils/Kconfig
+++ b/lib/utils/Kconfig
@@ -4,6 +4,8 @@ menu "Utils and Drivers Support"
source "$(OPENSBI_SRC_DIR)/lib/utils/ipi/Kconfig"
+source "$(OPENSBI_SRC_DIR)/lib/utils/irqchip/Kconfig"
+
source "$(OPENSBI_SRC_DIR)/lib/utils/reset/Kconfig"
source "$(OPENSBI_SRC_DIR)/lib/utils/serial/Kconfig"
diff --git a/lib/utils/irqchip/Kconfig b/lib/utils/irqchip/Kconfig
new file mode 100644
index 00000000..6a7e297b
--- /dev/null
+++ b/lib/utils/irqchip/Kconfig
@@ -0,0 +1,40 @@
+# SPDX-License-Identifier: BSD-2-Clause
+
+menu "Interrupt Controller Support"
+
+config FDT_IRQCHIP
+ bool "FDT based interrupt controller drivers"
+ default n
+
+if FDT_IRQCHIP
+
+config FDT_IRQCHIP_APLIC
+ bool "Advanced Platform Level Interrupt Controller (APLIC) FDT driver"
+ select IRQCHIP_APLIC
+ default n
+
+config FDT_IRQCHIP_IMSIC
+ bool "Incoming Message Signalled Interrupt Controller (IMSIC) FDT driver"
+ select IRQCHIP_IMSIC
+ default n
+
+config FDT_IRQCHIP_PLIC
+ bool "Platform Level Interrupt Controller (PLIC) FDT driver"
+ select IRQCHIP_PLIC
+ default n
+
+endif
+
+config IRQCHIP_APLIC
+ bool "Advanced Platform Level Interrupt Controller (APLIC) support"
+ default n
+
+config IRQCHIP_IMSIC
+ bool "Incoming Message Signalled Interrupt Controller (IMSIC) support"
+ default n
+
+config IRQCHIP_PLIC
+ bool "Platform Level Interrupt Controller (PLIC) support"
+ default n
+
+endmenu
diff --git a/lib/utils/irqchip/objects.mk b/lib/utils/irqchip/objects.mk
index 7775bc45..e4588917 100644
--- a/lib/utils/irqchip/objects.mk
+++ b/lib/utils/irqchip/objects.mk
@@ -7,18 +7,18 @@
# Anup Patel <[email protected]>
#
-libsbiutils-objs-y += irqchip/fdt_irqchip.o
-libsbiutils-objs-y += irqchip/fdt_irqchip_drivers.o
+libsbiutils-objs-$(CONFIG_FDT_IRQCHIP) += irqchip/fdt_irqchip.o
+libsbiutils-objs-$(CONFIG_FDT_IRQCHIP) += irqchip/fdt_irqchip_drivers.o
-carray-fdt_irqchip_drivers-y += fdt_irqchip_aplic
-libsbiutils-objs-y += irqchip/fdt_irqchip_aplic.o
+carray-fdt_irqchip_drivers-$(CONFIG_FDT_IRQCHIP_APLIC) += fdt_irqchip_aplic
+libsbiutils-objs-$(CONFIG_FDT_IRQCHIP_APLIC) += irqchip/fdt_irqchip_aplic.o
-carray-fdt_irqchip_drivers-y += fdt_irqchip_imsic
-libsbiutils-objs-y += irqchip/fdt_irqchip_imsic.o
+carray-fdt_irqchip_drivers-$(CONFIG_FDT_IRQCHIP_IMSIC) += fdt_irqchip_imsic
+libsbiutils-objs-$(CONFIG_FDT_IRQCHIP_IMSIC) += irqchip/fdt_irqchip_imsic.o
-carray-fdt_irqchip_drivers-y += fdt_irqchip_plic
-libsbiutils-objs-y += irqchip/fdt_irqchip_plic.o
+carray-fdt_irqchip_drivers-$(CONFIG_FDT_IRQCHIP_PLIC) += fdt_irqchip_plic
+libsbiutils-objs-$(CONFIG_FDT_IRQCHIP_PLIC) += irqchip/fdt_irqchip_plic.o
-libsbiutils-objs-y += irqchip/aplic.o
-libsbiutils-objs-y += irqchip/imsic.o
-libsbiutils-objs-y += irqchip/plic.o
+libsbiutils-objs-$(CONFIG_IRQCHIP_APLIC) += irqchip/aplic.o
+libsbiutils-objs-$(CONFIG_IRQCHIP_IMSIC) += irqchip/imsic.o
+libsbiutils-objs-$(CONFIG_IRQCHIP_PLIC) += irqchip/plic.o