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