qcom_common.c (dcb57ed43d9ec5e16628c337143cd6b387f42778) qcom_common.c (880f5b388252fedb26c70bb80ad1d7c8abbc0607)
1/*
2 * Qualcomm Peripheral Image Loader helpers
3 *
4 * Copyright (C) 2016 Linaro Ltd
5 * Copyright (C) 2015 Sony Mobile Communications Inc
6 * Copyright (c) 2012-2013, The Linux Foundation. All rights reserved.
7 *
8 * This program is free software; you can redistribute it and/or

--- 28 unchanged lines hidden (view full) ---

37{
38 struct qcom_rproc_glink *glink = to_glink_subdev(subdev);
39
40 glink->edge = qcom_glink_smem_register(glink->dev, glink->node);
41
42 return PTR_ERR_OR_ZERO(glink->edge);
43}
44
1/*
2 * Qualcomm Peripheral Image Loader helpers
3 *
4 * Copyright (C) 2016 Linaro Ltd
5 * Copyright (C) 2015 Sony Mobile Communications Inc
6 * Copyright (c) 2012-2013, The Linux Foundation. All rights reserved.
7 *
8 * This program is free software; you can redistribute it and/or

--- 28 unchanged lines hidden (view full) ---

37{
38 struct qcom_rproc_glink *glink = to_glink_subdev(subdev);
39
40 glink->edge = qcom_glink_smem_register(glink->dev, glink->node);
41
42 return PTR_ERR_OR_ZERO(glink->edge);
43}
44
45static void glink_subdev_remove(struct rproc_subdev *subdev)
45static void glink_subdev_remove(struct rproc_subdev *subdev, bool crashed)
46{
47 struct qcom_rproc_glink *glink = to_glink_subdev(subdev);
48
49 qcom_glink_smem_unregister(glink->edge);
50 glink->edge = NULL;
51}
52
53/**

--- 73 unchanged lines hidden (view full) ---

127{
128 struct qcom_rproc_subdev *smd = to_smd_subdev(subdev);
129
130 smd->edge = qcom_smd_register_edge(smd->dev, smd->node);
131
132 return PTR_ERR_OR_ZERO(smd->edge);
133}
134
46{
47 struct qcom_rproc_glink *glink = to_glink_subdev(subdev);
48
49 qcom_glink_smem_unregister(glink->edge);
50 glink->edge = NULL;
51}
52
53/**

--- 73 unchanged lines hidden (view full) ---

127{
128 struct qcom_rproc_subdev *smd = to_smd_subdev(subdev);
129
130 smd->edge = qcom_smd_register_edge(smd->dev, smd->node);
131
132 return PTR_ERR_OR_ZERO(smd->edge);
133}
134
135static void smd_subdev_remove(struct rproc_subdev *subdev)
135static void smd_subdev_remove(struct rproc_subdev *subdev, bool crashed)
136{
137 struct qcom_rproc_subdev *smd = to_smd_subdev(subdev);
138
139 qcom_smd_unregister_edge(smd->edge);
140 smd->edge = NULL;
141}
142
143/**

--- 52 unchanged lines hidden (view full) ---

196}
197EXPORT_SYMBOL_GPL(qcom_unregister_ssr_notifier);
198
199static int ssr_notify_start(struct rproc_subdev *subdev)
200{
201 return 0;
202}
203
136{
137 struct qcom_rproc_subdev *smd = to_smd_subdev(subdev);
138
139 qcom_smd_unregister_edge(smd->edge);
140 smd->edge = NULL;
141}
142
143/**

--- 52 unchanged lines hidden (view full) ---

196}
197EXPORT_SYMBOL_GPL(qcom_unregister_ssr_notifier);
198
199static int ssr_notify_start(struct rproc_subdev *subdev)
200{
201 return 0;
202}
203
204static void ssr_notify_stop(struct rproc_subdev *subdev)
204static void ssr_notify_stop(struct rproc_subdev *subdev, bool crashed)
205{
206 struct qcom_rproc_ssr *ssr = to_ssr_subdev(subdev);
207
208 blocking_notifier_call_chain(&ssr_notifiers, 0, (void *)ssr->name);
209}
210
211/**
212 * qcom_add_ssr_subdev() - register subdevice as restart notification source

--- 29 unchanged lines hidden ---
205{
206 struct qcom_rproc_ssr *ssr = to_ssr_subdev(subdev);
207
208 blocking_notifier_call_chain(&ssr_notifiers, 0, (void *)ssr->name);
209}
210
211/**
212 * qcom_add_ssr_subdev() - register subdevice as restart notification source

--- 29 unchanged lines hidden ---