1 /* SPDX-License-Identifier: GPL-2.0+ */
2 /*
3  * Copyright (C) 2019-2020 Linaro Limited.
4  */
5 #ifndef _SCMI_AGENT_UCLASS_H
6 #define _SCMI_AGENT_UCLASS_H
7 
8 struct udevice;
9 struct scmi_msg;
10 
11 /**
12  * struct scmi_transport_ops - The functions that a SCMI transport layer must implement.
13  */
14 struct scmi_agent_ops {
15 	/*
16 	 * process_msg - Request transport to get the SCMI message processed
17 	 *
18 	 * @agent:		Agent using the transport
19 	 * @msg:		SCMI message to be transmitted
20 	 */
21 	int (*process_msg)(struct udevice *dev, struct scmi_msg *msg);
22 };
23 
24 #endif /* _SCMI_TRANSPORT_UCLASS_H */
25