diff options
author | Bjorn Andersson <bjorn.andersson@linaro.org> | 2017-01-29 14:05:50 -0800 |
---|---|---|
committer | Bjorn Andersson <bjorn.andersson@linaro.org> | 2017-02-06 08:57:25 -0800 |
commit | 4b48921a8f74e7dfff5b39ab966c86f99717db3a (patch) | |
tree | c26fc3d6a163e71c0c0257ecbd985d4f332b6c30 /drivers/remoteproc/qcom_adsp_pil.c | |
parent | b90fcfcb1378ddab1ee58ec7caaedbba2a8eb7c6 (diff) | |
download | op-kernel-dev-4b48921a8f74e7dfff5b39ab966c86f99717db3a.zip op-kernel-dev-4b48921a8f74e7dfff5b39ab966c86f99717db3a.tar.gz |
remoteproc: qcom: Use common SMD edge handler
Call the common SMD edge handler to instantiate subdevices to bring
associated SMD edges up and down as the remoteproc is started and
stopped.
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Diffstat (limited to 'drivers/remoteproc/qcom_adsp_pil.c')
-rw-r--r-- | drivers/remoteproc/qcom_adsp_pil.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/remoteproc/qcom_adsp_pil.c b/drivers/remoteproc/qcom_adsp_pil.c index 301b820..f1b147c 100644 --- a/drivers/remoteproc/qcom_adsp_pil.c +++ b/drivers/remoteproc/qcom_adsp_pil.c @@ -70,6 +70,8 @@ struct qcom_adsp { phys_addr_t mem_reloc; void *mem_region; size_t mem_size; + + struct qcom_rproc_subdev smd_subdev; }; static int adsp_load(struct rproc *rproc, const struct firmware *fw) @@ -404,6 +406,8 @@ static int adsp_probe(struct platform_device *pdev) goto free_rproc; } + qcom_add_smd_subdev(rproc, &adsp->smd_subdev); + ret = rproc_add(rproc); if (ret) goto free_rproc; @@ -422,6 +426,8 @@ static int adsp_remove(struct platform_device *pdev) qcom_smem_state_put(adsp->state); rproc_del(adsp->rproc); + + qcom_remove_smd_subdev(adsp->rproc, &adsp->smd_subdev); rproc_free(adsp->rproc); return 0; |