Merge tag 'rpmsg-v4.14' of git://github.com/andersson/remoteproc
[sfrench/cifs-2.6.git] / drivers / remoteproc / qcom_common.h
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