Lines Matching full:smd
296 struct qcom_rproc_subdev *smd = to_smd_subdev(subdev); in smd_subdev_start() local
298 smd->edge = qcom_smd_register_edge(smd->dev, smd->node); in smd_subdev_start()
300 return PTR_ERR_OR_ZERO(smd->edge); in smd_subdev_start()
305 struct qcom_rproc_subdev *smd = to_smd_subdev(subdev); in smd_subdev_stop() local
307 qcom_smd_unregister_edge(smd->edge); in smd_subdev_stop()
308 smd->edge = NULL; in smd_subdev_stop()
312 * qcom_add_smd_subdev() - try to add a SMD subdevice to rproc
314 * @smd: reference to a Qualcomm subdev context
316 void qcom_add_smd_subdev(struct rproc *rproc, struct qcom_rproc_subdev *smd) in qcom_add_smd_subdev() argument
320 smd->node = of_get_child_by_name(dev->parent->of_node, "smd-edge"); in qcom_add_smd_subdev()
321 if (!smd->node) in qcom_add_smd_subdev()
324 smd->dev = dev; in qcom_add_smd_subdev()
325 smd->subdev.start = smd_subdev_start; in qcom_add_smd_subdev()
326 smd->subdev.stop = smd_subdev_stop; in qcom_add_smd_subdev()
328 rproc_add_subdev(rproc, &smd->subdev); in qcom_add_smd_subdev()
333 * qcom_remove_smd_subdev() - remove the smd subdevice from rproc
335 * @smd: the SMD subdevice to remove
337 void qcom_remove_smd_subdev(struct rproc *rproc, struct qcom_rproc_subdev *smd) in qcom_remove_smd_subdev() argument
339 if (!smd->node) in qcom_remove_smd_subdev()
342 rproc_remove_subdev(rproc, &smd->subdev); in qcom_remove_smd_subdev()
343 of_node_put(smd->node); in qcom_remove_smd_subdev()