[PATCH v3 3/3] firmware: arm_scmi: Pre-register protocol, name tupples for IMX protocols

From: Hans de Goede

Date: Thu Aug 20 2026 - 15:50:27 EST


There are in tree drivers for various IMX vendor protocols, also
pre-register the { protocol, name } tupples for these to make module
auto-loading work for these in tree drivers.

Signed-off-by: Hans de Goede <johannes.goede@xxxxxxxxxxxxxxxx>
---
Changes in v3:
- New patch in v3 of this patch-set
---
drivers/firmware/arm_scmi/bus.c | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/drivers/firmware/arm_scmi/bus.c b/drivers/firmware/arm_scmi/bus.c
index 111727904a89..9f5740dc606f 100644
--- a/drivers/firmware/arm_scmi/bus.c
+++ b/drivers/firmware/arm_scmi/bus.c
@@ -15,6 +15,7 @@
#include <linux/slab.h>
#include <linux/string.h>
#include <linux/device.h>
+#include <linux/scmi_imx_protocol.h>

#include "common.h"

@@ -580,8 +581,8 @@ static void scmi_devices_unregister(void)
bus_for_each_dev(&scmi_bus_type, NULL, NULL, __scmi_devices_unregister);
}

-/* Standard protocols table */
static const struct scmi_device_id scmi_std_id_table[] = {
+ /* Standard protocols */
{ SCMI_PROTOCOL_POWER, "genpd" },
{ SCMI_PROTOCOL_SYSTEM, "syspower" },
{ SCMI_PROTOCOL_PERF, "perf" },
@@ -594,6 +595,12 @@ static const struct scmi_device_id scmi_std_id_table[] = {
{ SCMI_PROTOCOL_POWERCAP, "powercap" },
{ SCMI_PROTOCOL_PINCTRL, "pinctrl" },
{ SCMI_PROTOCOL_PINCTRL, "pinctrl-imx" },
+ /* Vendor protocols with in tree drivers */
+ { SCMI_PROTOCOL_IMX_BBM, "imx-bbm-key" },
+ { SCMI_PROTOCOL_IMX_BBM, "imx-bbm-rtc" },
+ { SCMI_PROTOCOL_IMX_CPU, "imx-cpu" },
+ { SCMI_PROTOCOL_IMX_LMM, "imx-lmm" },
+ { SCMI_PROTOCOL_IMX_MISC, "imx-misc-ctrl" },
{ },
};

--
2.55.0