Lines Matching full:glink

185 	struct qcom_rproc_glink *glink = to_glink_subdev(subdev);  in glink_subdev_start()  local
187 glink->edge = qcom_glink_smem_register(glink->dev, glink->node); in glink_subdev_start()
189 return PTR_ERR_OR_ZERO(glink->edge); in glink_subdev_start()
194 struct qcom_rproc_glink *glink = to_glink_subdev(subdev); in glink_subdev_stop() local
196 qcom_glink_smem_unregister(glink->edge); in glink_subdev_stop()
197 glink->edge = NULL; in glink_subdev_stop()
202 struct qcom_rproc_glink *glink = to_glink_subdev(subdev); in glink_subdev_unprepare() local
204 qcom_glink_ssr_notify(glink->ssr_name); in glink_subdev_unprepare()
208 * qcom_add_glink_subdev() - try to add a GLINK subdevice to rproc
210 * @glink: reference to a GLINK subdev context
213 void qcom_add_glink_subdev(struct rproc *rproc, struct qcom_rproc_glink *glink, in qcom_add_glink_subdev() argument
218 glink->node = of_get_child_by_name(dev->parent->of_node, "glink-edge"); in qcom_add_glink_subdev()
219 if (!glink->node) in qcom_add_glink_subdev()
222 glink->ssr_name = kstrdup_const(ssr_name, GFP_KERNEL); in qcom_add_glink_subdev()
223 if (!glink->ssr_name) in qcom_add_glink_subdev()
226 glink->dev = dev; in qcom_add_glink_subdev()
227 glink->subdev.start = glink_subdev_start; in qcom_add_glink_subdev()
228 glink->subdev.stop = glink_subdev_stop; in qcom_add_glink_subdev()
229 glink->subdev.unprepare = glink_subdev_unprepare; in qcom_add_glink_subdev()
231 rproc_add_subdev(rproc, &glink->subdev); in qcom_add_glink_subdev()
236 * qcom_remove_glink_subdev() - remove a GLINK subdevice from rproc
238 * @glink: reference to a GLINK subdev context
240 void qcom_remove_glink_subdev(struct rproc *rproc, struct qcom_rproc_glink *glink) in qcom_remove_glink_subdev() argument
242 if (!glink->node) in qcom_remove_glink_subdev()
245 rproc_remove_subdev(rproc, &glink->subdev); in qcom_remove_glink_subdev()
246 kfree_const(glink->ssr_name); in qcom_remove_glink_subdev()
247 of_node_put(glink->node); in qcom_remove_glink_subdev()