Add a dedicated Kconfig submenu and directory where to collect SCMI vendor
protocols implementations.
Signed-off-by: Cristian Marussi <cristian.marussi@arm.com>
---
drivers/firmware/arm_scmi/Kconfig | 2 ++
drivers/firmware/arm_scmi/Makefile | 1 +
drivers/firmware/arm_scmi/vendors/Kconfig | 4 ++++
drivers/firmware/arm_scmi/vendors/Makefile | 2 ++
4 files changed, 9 insertions(+)
create mode 100644 drivers/firmware/arm_scmi/vendors/Kconfig
create mode 100644 drivers/firmware/arm_scmi/vendors/Makefile
diff --git a/drivers/firmware/arm_scmi/Kconfig b/drivers/firmware/arm_scmi/Kconfig
index aa5842be19b2..db9166e99177 100644
--- a/drivers/firmware/arm_scmi/Kconfig
+++ b/drivers/firmware/arm_scmi/Kconfig
@@ -180,4 +180,6 @@ config ARM_SCMI_POWER_CONTROL
called scmi_power_control. Note this may needed early in boot to catch
early shutdown/reboot SCMI requests.
+source "drivers/firmware/arm_scmi/vendors/Kconfig"
+
endmenu
diff --git a/drivers/firmware/arm_scmi/Makefile b/drivers/firmware/arm_scmi/Makefile
index a7bc4796519c..1316892a230d 100644
--- a/drivers/firmware/arm_scmi/Makefile
+++ b/drivers/firmware/arm_scmi/Makefile
@@ -15,6 +15,7 @@ scmi-module-objs := $(scmi-driver-y) $(scmi-protocols-y) $(scmi-transport-y)
obj-$(CONFIG_ARM_SCMI_PROTOCOL) += scmi-core.o
obj-$(CONFIG_ARM_SCMI_PROTOCOL) += scmi-module.o
+obj-$(CONFIG_ARM_SCMI_PROTOCOL) += vendors/
obj-$(CONFIG_ARM_SCMI_POWER_CONTROL) += scmi_power_control.o
diff --git a/drivers/firmware/arm_scmi/vendors/Kconfig b/drivers/firmware/arm_scmi/vendors/Kconfig
new file mode 100644
index 000000000000..7c1ca7a12603
--- /dev/null
+++ b/drivers/firmware/arm_scmi/vendors/Kconfig
@@ -0,0 +1,4 @@
+# SPDX-License-Identifier: GPL-2.0-only
+menu "ARM SCMI Vendor Protocols"
+
+endmenu
diff --git a/drivers/firmware/arm_scmi/vendors/Makefile b/drivers/firmware/arm_scmi/vendors/Makefile
new file mode 100644
index 000000000000..c6c214158dd8
--- /dev/null
+++ b/drivers/firmware/arm_scmi/vendors/Makefile
@@ -0,0 +1,2 @@
+# SPDX-License-Identifier: GPL-2.0-only
+# obj-$(CONFIG_ARM_SCMI_PROTOCOL_<your_vendor_proto>) += <your_vendor_proto>.o
--
2.44.0
On Mon, Apr 08, 2024 at 10:30:52AM +0100, Cristian Marussi wrote: > Add a dedicated Kconfig submenu and directory where to collect SCMI vendor > protocols implementations. > This looks fine. But I would wait until the first vendor protocol is ready to be merged to merge this as baseline. Hope that's OK. -- Regards, Sudeep
On Wed, Apr 17, 2024 at 01:09:45PM +0100, Sudeep Holla wrote: > On Mon, Apr 08, 2024 at 10:30:52AM +0100, Cristian Marussi wrote: > > Add a dedicated Kconfig submenu and directory where to collect SCMI vendor > > protocols implementations. > > > > This looks fine. But I would wait until the first vendor protocol is > ready to be merged to merge this as baseline. Hope that's OK. > Absolutely, I think some vendor protocols currently on the list (beside their ready-to-merge status) will rebase on this once this is in -next. What remain to discuss really, it is, as I mentioned offline, if we want to also group the vendor protocols headers (the one containing the public protocol ops) somewhere...I think now they are just placed on top level include/ named like /vendor1_scmi_something.h /scmi_vendor2_something_else.h ..or (as I now remembered you mentioned offline) just leave as it is for now and then post a patch on top to shuffle around the headers into some common include/scmi/ top dir...not sure anyway if it worth...maybe some header name convention is fine (but I ignore if there are rules about polluting more or less the top level /include/ dir :D) I assume also that this mechanism is fine for vendors at this point, since all the feedback we've got from them till now was on specific (and very much welcome) code-reviewed stuff... Thanks, Cristian
© 2016 - 2026 Red Hat, Inc.