Lines Matching refs:smd
134 struct qcom_rproc_subdev *smd = to_smd_subdev(subdev); in smd_subdev_start() local
136 smd->edge = qcom_smd_register_edge(smd->dev, smd->node); in smd_subdev_start()
138 return PTR_ERR_OR_ZERO(smd->edge); in smd_subdev_start()
143 struct qcom_rproc_subdev *smd = to_smd_subdev(subdev); in smd_subdev_stop() local
145 qcom_smd_unregister_edge(smd->edge); in smd_subdev_stop()
146 smd->edge = NULL; in smd_subdev_stop()
154 void qcom_add_smd_subdev(struct rproc *rproc, struct qcom_rproc_subdev *smd) in qcom_add_smd_subdev() argument
158 smd->node = of_get_child_by_name(dev->parent->of_node, "smd-edge"); in qcom_add_smd_subdev()
159 if (!smd->node) in qcom_add_smd_subdev()
162 smd->dev = dev; in qcom_add_smd_subdev()
163 smd->subdev.start = smd_subdev_start; in qcom_add_smd_subdev()
164 smd->subdev.stop = smd_subdev_stop; in qcom_add_smd_subdev()
166 rproc_add_subdev(rproc, &smd->subdev); in qcom_add_smd_subdev()
175 void qcom_remove_smd_subdev(struct rproc *rproc, struct qcom_rproc_subdev *smd) in qcom_remove_smd_subdev() argument
177 if (!smd->node) in qcom_remove_smd_subdev()
180 rproc_remove_subdev(rproc, &smd->subdev); in qcom_remove_smd_subdev()
181 of_node_put(smd->node); in qcom_remove_smd_subdev()