Lines Matching full:glink
39 struct qcom_rproc_glink *glink = to_glink_subdev(subdev); in glink_subdev_start() local
41 glink->edge = qcom_glink_smem_register(glink->dev, glink->node); in glink_subdev_start()
43 return PTR_ERR_OR_ZERO(glink->edge); in glink_subdev_start()
48 struct qcom_rproc_glink *glink = to_glink_subdev(subdev); in glink_subdev_stop() local
50 qcom_glink_smem_unregister(glink->edge); in glink_subdev_stop()
51 glink->edge = NULL; in glink_subdev_stop()
56 struct qcom_rproc_glink *glink = to_glink_subdev(subdev); in glink_subdev_unprepare() local
58 qcom_glink_ssr_notify(glink->ssr_name); in glink_subdev_unprepare()
62 * qcom_add_glink_subdev() - try to add a GLINK subdevice to rproc
64 * @glink: reference to a GLINK subdev context
67 void qcom_add_glink_subdev(struct rproc *rproc, struct qcom_rproc_glink *glink, in qcom_add_glink_subdev() argument
72 glink->node = of_get_child_by_name(dev->parent->of_node, "glink-edge"); in qcom_add_glink_subdev()
73 if (!glink->node) in qcom_add_glink_subdev()
76 glink->ssr_name = kstrdup_const(ssr_name, GFP_KERNEL); in qcom_add_glink_subdev()
77 if (!glink->ssr_name) in qcom_add_glink_subdev()
80 glink->dev = dev; in qcom_add_glink_subdev()
81 glink->subdev.start = glink_subdev_start; in qcom_add_glink_subdev()
82 glink->subdev.stop = glink_subdev_stop; in qcom_add_glink_subdev()
83 glink->subdev.unprepare = glink_subdev_unprepare; in qcom_add_glink_subdev()
85 rproc_add_subdev(rproc, &glink->subdev); in qcom_add_glink_subdev()
90 * qcom_remove_glink_subdev() - remove a GLINK subdevice from rproc
92 * @glink: reference to a GLINK subdev context
94 void qcom_remove_glink_subdev(struct rproc *rproc, struct qcom_rproc_glink *glink) in qcom_remove_glink_subdev() argument
96 if (!glink->node) in qcom_remove_glink_subdev()
99 rproc_remove_subdev(rproc, &glink->subdev); in qcom_remove_glink_subdev()
100 kfree_const(glink->ssr_name); in qcom_remove_glink_subdev()
101 of_node_put(glink->node); in qcom_remove_glink_subdev()