1 #ifndef __RPROC_QCOM_COMMON_H__
2 #define __RPROC_QCOM_COMMON_H__
3 
4 #include <linux/remoteproc.h>
5 #include "remoteproc_internal.h"
6 
7 struct qcom_rproc_glink {
8 	struct rproc_subdev subdev;
9 
10 	struct device *dev;
11 	struct device_node *node;
12 	struct qcom_glink *edge;
13 };
14 
15 struct qcom_rproc_subdev {
16 	struct rproc_subdev subdev;
17 
18 	struct device *dev;
19 	struct device_node *node;
20 	struct qcom_smd_edge *edge;
21 };
22 
23 struct qcom_rproc_ssr {
24 	struct rproc_subdev subdev;
25 
26 	const char *name;
27 };
28 
29 struct resource_table *qcom_mdt_find_rsc_table(struct rproc *rproc,
30 					       const struct firmware *fw,
31 					       int *tablesz);
32 
33 void qcom_add_glink_subdev(struct rproc *rproc, struct qcom_rproc_glink *glink);
34 void qcom_remove_glink_subdev(struct rproc *rproc, struct qcom_rproc_glink *glink);
35 
36 void qcom_add_smd_subdev(struct rproc *rproc, struct qcom_rproc_subdev *smd);
37 void qcom_remove_smd_subdev(struct rproc *rproc, struct qcom_rproc_subdev *smd);
38 
39 void qcom_add_ssr_subdev(struct rproc *rproc, struct qcom_rproc_ssr *ssr,
40 			 const char *ssr_name);
41 void qcom_remove_ssr_subdev(struct rproc *rproc, struct qcom_rproc_ssr *ssr);
42 
43 #endif
44