remoteproc: q6v5: Allow defining GLINK edge for mss remoteproc
authorSibi Sankar <sibis@codeaurora.org>
Mon, 21 May 2018 17:27:14 +0000 (22:57 +0530)
committerBjorn Andersson <bjorn.andersson@linaro.org>
Wed, 30 May 2018 03:10:34 +0000 (20:10 -0700)
Add GLINK subdevice to allow definition of GLINK edge as a
child of modem-pil.

Signed-off-by: Sibi Sankar <sibis@codeaurora.org>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
drivers/remoteproc/qcom_q6v5_pil.c

index b48e5f36dd712de215646ef4df38c3f9f032c630..2190debf3d35fca5df7a957ef31ab63bc0a47712 100644 (file)
@@ -183,6 +183,7 @@ struct q6v5 {
        void *mpss_region;
        size_t mpss_size;
 
+       struct qcom_rproc_glink glink_subdev;
        struct qcom_rproc_subdev smd_subdev;
        struct qcom_rproc_ssr ssr_subdev;
        struct qcom_sysmon *sysmon;
@@ -1333,6 +1334,7 @@ static int q6v5_probe(struct platform_device *pdev)
        }
        qproc->mpss_perm = BIT(QCOM_SCM_VMID_HLOS);
        qproc->mba_perm = BIT(QCOM_SCM_VMID_HLOS);
+       qcom_add_glink_subdev(rproc, &qproc->glink_subdev);
        qcom_add_smd_subdev(rproc, &qproc->smd_subdev);
        qcom_add_ssr_subdev(rproc, &qproc->ssr_subdev, "mpss");
        qproc->sysmon = qcom_add_sysmon_subdev(rproc, "modem", 0x12);
@@ -1356,6 +1358,7 @@ static int q6v5_remove(struct platform_device *pdev)
        rproc_del(qproc->rproc);
 
        qcom_remove_sysmon_subdev(qproc->sysmon);
+       qcom_remove_glink_subdev(qproc->rproc, &qproc->glink_subdev);
        qcom_remove_smd_subdev(qproc->rproc, &qproc->smd_subdev);
        qcom_remove_ssr_subdev(qproc->rproc, &qproc->ssr_subdev);
        rproc_free(qproc->rproc);