summaryrefslogtreecommitdiff
path: root/include/scmi_agent.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/scmi_agent.h')
-rw-r--r--include/scmi_agent.h14
1 files changed, 13 insertions, 1 deletions
diff --git a/include/scmi_agent.h b/include/scmi_agent.h
index 18bcd48a9d4..ee6286366df 100644
--- a/include/scmi_agent.h
+++ b/include/scmi_agent.h
@@ -13,6 +13,7 @@
#include <asm/types.h>
struct udevice;
+struct scmi_channel;
/*
* struct scmi_msg - Context of a SCMI message sent and the response received
@@ -45,6 +46,15 @@ struct scmi_msg {
}
/**
+ * devm_scmi_of_get_channel() - Get SCMI channel handle from SCMI agent DT node
+ *
+ * @dev: Device requesting a channel
+ * @channel: Output reference to the SCMI channel upon success
+ * @return 0 on success and a negative errno on failure
+ */
+int devm_scmi_of_get_channel(struct udevice *dev, struct scmi_channel **channel);
+
+/**
* devm_scmi_process_msg() - Send and process an SCMI message
*
* Send a message to an SCMI server through a target SCMI agent device.
@@ -52,10 +62,12 @@ struct scmi_msg {
* On return, scmi_msg::out_msg_sz stores the response payload size.
*
* @dev: SCMI device
+ * @channel: Communication channel for the device
* @msg: Message structure reference
* Return: 0 on success and a negative errno on failure
*/
-int devm_scmi_process_msg(struct udevice *dev, struct scmi_msg *msg);
+int devm_scmi_process_msg(struct udevice *dev, struct scmi_channel *channel,
+ struct scmi_msg *msg);
/**
* scmi_to_linux_errno() - Convert an SCMI error code into a Linux errno code