Lines Matching refs:glink
199 struct qcom_rproc_glink *glink = to_glink_subdev(subdev);
201 glink->edge = qcom_glink_smem_register(glink->dev, glink->node);
203 return PTR_ERR_OR_ZERO(glink->edge);
208 struct qcom_rproc_glink *glink = to_glink_subdev(subdev);
210 qcom_glink_smem_unregister(glink->edge);
211 glink->edge = NULL;
216 struct qcom_rproc_glink *glink = to_glink_subdev(subdev);
218 qcom_glink_ssr_notify(glink->ssr_name);
224 * @glink: reference to a GLINK subdev context
227 void qcom_add_glink_subdev(struct rproc *rproc, struct qcom_rproc_glink *glink,
232 glink->node = of_get_child_by_name(dev->parent->of_node, "glink-edge");
233 if (!glink->node)
236 glink->ssr_name = kstrdup_const(ssr_name, GFP_KERNEL);
237 if (!glink->ssr_name)
240 glink->dev = dev;
241 glink->subdev.start = glink_subdev_start;
242 glink->subdev.stop = glink_subdev_stop;
243 glink->subdev.unprepare = glink_subdev_unprepare;
245 rproc_add_subdev(rproc, &glink->subdev);
252 * @glink: reference to a GLINK subdev context
254 void qcom_remove_glink_subdev(struct rproc *rproc, struct qcom_rproc_glink *glink)
256 if (!glink->node)
259 rproc_remove_subdev(rproc, &glink->subdev);
260 kfree_const(glink->ssr_name);
261 of_node_put(glink->node);