Lines Matching full:smd
312 struct qcom_rproc_subdev *smd = to_smd_subdev(subdev); in smd_subdev_start() local
314 smd->edge = qcom_smd_register_edge(smd->dev, smd->node); in smd_subdev_start()
316 return PTR_ERR_OR_ZERO(smd->edge); in smd_subdev_start()
321 struct qcom_rproc_subdev *smd = to_smd_subdev(subdev); in smd_subdev_stop() local
323 qcom_smd_unregister_edge(smd->edge); in smd_subdev_stop()
324 smd->edge = NULL; in smd_subdev_stop()
328 * qcom_add_smd_subdev() - try to add a SMD subdevice to rproc
330 * @smd: reference to a Qualcomm subdev context
332 void qcom_add_smd_subdev(struct rproc *rproc, struct qcom_rproc_subdev *smd) in qcom_add_smd_subdev() argument
336 smd->node = of_get_child_by_name(dev->parent->of_node, "smd-edge"); in qcom_add_smd_subdev()
337 if (!smd->node) in qcom_add_smd_subdev()
340 smd->dev = dev; in qcom_add_smd_subdev()
341 smd->subdev.start = smd_subdev_start; in qcom_add_smd_subdev()
342 smd->subdev.stop = smd_subdev_stop; in qcom_add_smd_subdev()
344 rproc_add_subdev(rproc, &smd->subdev); in qcom_add_smd_subdev()
349 * qcom_remove_smd_subdev() - remove the smd subdevice from rproc
351 * @smd: the SMD subdevice to remove
353 void qcom_remove_smd_subdev(struct rproc *rproc, struct qcom_rproc_subdev *smd) in qcom_remove_smd_subdev() argument
355 if (!smd->node) in qcom_remove_smd_subdev()
358 rproc_remove_subdev(rproc, &smd->subdev); in qcom_remove_smd_subdev()
359 of_node_put(smd->node); in qcom_remove_smd_subdev()