Lines Matching full:smd
310 struct qcom_rproc_subdev *smd = to_smd_subdev(subdev); in smd_subdev_start() local
312 smd->edge = qcom_smd_register_edge(smd->dev, smd->node); in smd_subdev_start()
314 return PTR_ERR_OR_ZERO(smd->edge); in smd_subdev_start()
319 struct qcom_rproc_subdev *smd = to_smd_subdev(subdev); in smd_subdev_stop() local
321 qcom_smd_unregister_edge(smd->edge); in smd_subdev_stop()
322 smd->edge = NULL; in smd_subdev_stop()
326 * qcom_add_smd_subdev() - try to add a SMD subdevice to rproc
328 * @smd: reference to a Qualcomm subdev context
330 void qcom_add_smd_subdev(struct rproc *rproc, struct qcom_rproc_subdev *smd) in qcom_add_smd_subdev() argument
334 smd->node = of_get_child_by_name(dev->parent->of_node, "smd-edge"); in qcom_add_smd_subdev()
335 if (!smd->node) in qcom_add_smd_subdev()
338 smd->dev = dev; in qcom_add_smd_subdev()
339 smd->subdev.start = smd_subdev_start; in qcom_add_smd_subdev()
340 smd->subdev.stop = smd_subdev_stop; in qcom_add_smd_subdev()
342 rproc_add_subdev(rproc, &smd->subdev); in qcom_add_smd_subdev()
347 * qcom_remove_smd_subdev() - remove the smd subdevice from rproc
349 * @smd: the SMD subdevice to remove
351 void qcom_remove_smd_subdev(struct rproc *rproc, struct qcom_rproc_subdev *smd) in qcom_remove_smd_subdev() argument
353 if (!smd->node) in qcom_remove_smd_subdev()
356 rproc_remove_subdev(rproc, &smd->subdev); in qcom_remove_smd_subdev()
357 of_node_put(smd->node); in qcom_remove_smd_subdev()