summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorChris Kay <chris.kay@arm.com>2026-07-20 16:07:15 +0100
committerChris Kay <chris.kay@arm.com>2026-08-04 13:24:30 +0100
commitcd87e22c8ceed2d55bd5937d07a35315313f0f03 (patch)
tree05b88c7b162e4ef3c95260756a807540010ef540 /include
parentcc67608f49a96700c71249129dd75575b895c333 (diff)
downloadarm-trusted-firmware-cd87e22c8ceed2d55bd5937d07a35315313f0f03.tar.gz
arm-trusted-firmware-cd87e22c8ceed2d55bd5937d07a35315313f0f03.zip
refactor(scmi): make protocol initialisation caller-defined
Accept an optional protocol-initialisation callback in `scmi_init` and let each caller initialise only the protocol families it uses, rather than centralising initialisation in the SCMI driver core itself. Change-Id: Ieff9d3a2f015b8691f90fde512a491fbc413a84e Signed-off-by: Chris Kay <chris.kay@arm.com>
Diffstat (limited to 'include')
-rw-r--r--include/drivers/arm/css/scmi.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/include/drivers/arm/css/scmi.h b/include/drivers/arm/css/scmi.h
index f95e213db..e6c424f0e 100644
--- a/include/drivers/arm/css/scmi.h
+++ b/include/drivers/arm/css/scmi.h
@@ -160,8 +160,10 @@ typedef struct scmi_channel {
int is_initialized;
} scmi_channel_t;
+typedef int (*scmi_protocol_init_fn_t)(scmi_channel_t *ch);
+
/* External Common API */
-void *scmi_init(scmi_channel_t *ch);
+void *scmi_init(scmi_channel_t *ch, scmi_protocol_init_fn_t init_protocols);
int scmi_proto_msg_attr(void *p, uint32_t proto_id, uint32_t command_id,
uint32_t *attr);
int scmi_proto_version(void *p, uint32_t proto_id, uint32_t *version);