Lines Matching full:smd
150 struct qcom_rproc_subdev *smd = to_smd_subdev(subdev); in smd_subdev_start() local
152 smd->edge = qcom_smd_register_edge(smd->dev, smd->node); in smd_subdev_start()
154 return PTR_ERR_OR_ZERO(smd->edge); in smd_subdev_start()
159 struct qcom_rproc_subdev *smd = to_smd_subdev(subdev); in smd_subdev_stop() local
161 qcom_smd_unregister_edge(smd->edge); in smd_subdev_stop()
162 smd->edge = NULL; in smd_subdev_stop()
166 * qcom_add_smd_subdev() - try to add a SMD subdevice to rproc
168 * @smd: reference to a Qualcomm subdev context
170 void qcom_add_smd_subdev(struct rproc *rproc, struct qcom_rproc_subdev *smd) in qcom_add_smd_subdev() argument
174 smd->node = of_get_child_by_name(dev->parent->of_node, "smd-edge"); in qcom_add_smd_subdev()
175 if (!smd->node) in qcom_add_smd_subdev()
178 smd->dev = dev; in qcom_add_smd_subdev()
179 smd->subdev.start = smd_subdev_start; in qcom_add_smd_subdev()
180 smd->subdev.stop = smd_subdev_stop; in qcom_add_smd_subdev()
182 rproc_add_subdev(rproc, &smd->subdev); in qcom_add_smd_subdev()
187 * qcom_remove_smd_subdev() - remove the smd subdevice from rproc
189 * @smd: the SMD subdevice to remove
191 void qcom_remove_smd_subdev(struct rproc *rproc, struct qcom_rproc_subdev *smd) in qcom_remove_smd_subdev() argument
193 if (!smd->node) in qcom_remove_smd_subdev()
196 rproc_remove_subdev(rproc, &smd->subdev); in qcom_remove_smd_subdev()
197 of_node_put(smd->node); in qcom_remove_smd_subdev()