From 0d3f18d3c4a0d41b4295088332001e04ed9b8809 Mon Sep 17 00:00:00 2001 From: Gerard Marull-Paretas Date: Wed, 24 May 2023 11:50:23 +0200 Subject: [PATCH] drivers: mfd: add class skeleton Introduce the skeleton for multi-function device drivers. This driver class is inspired by the same class found in Linux. Multi-function devices expose multiple functionalities, for example, a LED driver, regulator, GPIO controller, etc. The MFD driver class serves as a kind of "parent" device where common functionality can be managed: bus access, IRQ sharing, initialization code, etc. Signed-off-by: Gerard Marull-Paretas --- drivers/CMakeLists.txt | 1 + drivers/Kconfig | 1 + drivers/mfd/CMakeLists.txt | 4 ++++ drivers/mfd/Kconfig | 21 +++++++++++++++++++++ 4 files changed, 27 insertions(+) create mode 100644 drivers/mfd/CMakeLists.txt create mode 100644 drivers/mfd/Kconfig diff --git a/drivers/CMakeLists.txt b/drivers/CMakeLists.txt index a9dd5533f2c..a043a8b7429 100644 --- a/drivers/CMakeLists.txt +++ b/drivers/CMakeLists.txt @@ -48,6 +48,7 @@ add_subdirectory_ifdef(CONFIG_LORA lora) add_subdirectory_ifdef(CONFIG_MBOX mbox) add_subdirectory_ifdef(CONFIG_MDIO mdio) add_subdirectory_ifdef(CONFIG_MEMC memc) +add_subdirectory_ifdef(CONFIG_MFD mfd) add_subdirectory_ifdef(CONFIG_MIPI_DSI mipi_dsi) add_subdirectory_ifdef(CONFIG_MM_DRV mm) add_subdirectory_ifdef(CONFIG_MODEM modem) diff --git a/drivers/Kconfig b/drivers/Kconfig index bb829018720..94e5e6c5be4 100644 --- a/drivers/Kconfig +++ b/drivers/Kconfig @@ -47,6 +47,7 @@ source "drivers/lora/Kconfig" source "drivers/mbox/Kconfig" source "drivers/mdio/Kconfig" source "drivers/memc/Kconfig" +source "drivers/mfd/Kconfig" source "drivers/mipi_dsi/Kconfig" source "drivers/misc/Kconfig" source "drivers/mm/Kconfig" diff --git a/drivers/mfd/CMakeLists.txt b/drivers/mfd/CMakeLists.txt new file mode 100644 index 00000000000..fef69f59b28 --- /dev/null +++ b/drivers/mfd/CMakeLists.txt @@ -0,0 +1,4 @@ +# Copyright 2023 Nordic Semiconductor ASA +# SPDX-License-Identifier: Apache-2.0 + +zephyr_library() diff --git a/drivers/mfd/Kconfig b/drivers/mfd/Kconfig new file mode 100644 index 00000000000..1abf1c49d5b --- /dev/null +++ b/drivers/mfd/Kconfig @@ -0,0 +1,21 @@ +# Copyright 2023 Nordic Semiconductor ASA +# SPDX-License-Identifier: Apache-2.0 + +menuconfig MFD + bool "Multi-function device (MFD) drivers" + help + Include drivers for multi-function devices + +if MFD + +module = MFD +module-str = mfd +source "subsys/logging/Kconfig.template.log_config" + +config MFD_INIT_PRIORITY + int "Initialization priority" + default 60 + help + Multi-function devices initialization priority. + +endif # MFD