Lines Matching full:glink
201 struct qcom_rproc_glink *glink = to_glink_subdev(subdev); in glink_subdev_start() local
203 glink->edge = qcom_glink_smem_register(glink->dev, glink->node); in glink_subdev_start()
205 return PTR_ERR_OR_ZERO(glink->edge); in glink_subdev_start()
210 struct qcom_rproc_glink *glink = to_glink_subdev(subdev); in glink_subdev_stop() local
212 qcom_glink_smem_unregister(glink->edge); in glink_subdev_stop()
213 glink->edge = NULL; in glink_subdev_stop()
218 struct qcom_rproc_glink *glink = to_glink_subdev(subdev); in glink_subdev_unprepare() local
220 qcom_glink_ssr_notify(glink->ssr_name); in glink_subdev_unprepare()
224 * qcom_add_glink_subdev() - try to add a GLINK subdevice to rproc
226 * @glink: reference to a GLINK subdev context
229 void qcom_add_glink_subdev(struct rproc *rproc, struct qcom_rproc_glink *glink, in qcom_add_glink_subdev() argument
234 glink->node = of_get_child_by_name(dev->parent->of_node, "glink-edge"); in qcom_add_glink_subdev()
235 if (!glink->node) in qcom_add_glink_subdev()
238 glink->ssr_name = kstrdup_const(ssr_name, GFP_KERNEL); in qcom_add_glink_subdev()
239 if (!glink->ssr_name) in qcom_add_glink_subdev()
242 glink->dev = dev; in qcom_add_glink_subdev()
243 glink->subdev.start = glink_subdev_start; in qcom_add_glink_subdev()
244 glink->subdev.stop = glink_subdev_stop; in qcom_add_glink_subdev()
245 glink->subdev.unprepare = glink_subdev_unprepare; in qcom_add_glink_subdev()
247 rproc_add_subdev(rproc, &glink->subdev); in qcom_add_glink_subdev()
252 * qcom_remove_glink_subdev() - remove a GLINK subdevice from rproc
254 * @glink: reference to a GLINK subdev context
256 void qcom_remove_glink_subdev(struct rproc *rproc, struct qcom_rproc_glink *glink) in qcom_remove_glink_subdev() argument
258 if (!glink->node) in qcom_remove_glink_subdev()
261 rproc_remove_subdev(rproc, &glink->subdev); in qcom_remove_glink_subdev()
262 kfree_const(glink->ssr_name); in qcom_remove_glink_subdev()
263 of_node_put(glink->node); in qcom_remove_glink_subdev()