From 20150990dde120c845ef2e0499e1936c6ff8dc0a Mon Sep 17 00:00:00 2001 From: Auditya Bhattaram Date: Fri, 2 Sep 2022 12:41:00 +0530 Subject: [PATCH] remoteproc: qcom: pas: remove remoteproc dependency on ramdump driver commit 9cdb3f58189d ("remoteproc: qcom: pas: Rename subsystem minidump elf name") unknowingly make remoteproc driver to dependent on qcom_ramdump with which remoteproc probe is failing. However, qcom_ramdump is an optional and debug driver and remoteproc should not depend on it. Fix this dependency. Change-Id: I1021835cfe6432f21e173a73a6d2c9baf5231dd4 Signed-off-by: Mukesh Ojha Signed-off-by: Auditya Bhattaram Signed-off-by: Naman Jain --- drivers/remoteproc/qcom_q6v5_pas.c | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/drivers/remoteproc/qcom_q6v5_pas.c b/drivers/remoteproc/qcom_q6v5_pas.c index aac11dba804e..15f9a05b8d3a 100644 --- a/drivers/remoteproc/qcom_q6v5_pas.c +++ b/drivers/remoteproc/qcom_q6v5_pas.c @@ -1137,20 +1137,19 @@ static int adsp_probe(struct platform_device *pdev) snprintf(md_dev_name, ARRAY_SIZE(md_dev_name), "%s-md", pdev->dev.of_node->name); adsp->minidump_dev = qcom_create_ramdump_device(md_dev_name, NULL); - if (!adsp->minidump_dev) { + if (!adsp->minidump_dev) dev_err(&pdev->dev, "Unable to create %s minidump device.\n", md_dev_name); - ret = -ENOMEM; - goto remove_attr_txn_id; - } ret = rproc_add(rproc); if (ret) goto destroy_minidump_dev; return 0; + destroy_minidump_dev: - qcom_destroy_ramdump_device(adsp->minidump_dev); -remove_attr_txn_id: + if (adsp->minidump_dev) + qcom_destroy_ramdump_device(adsp->minidump_dev); + device_remove_file(adsp->dev, &dev_attr_txn_id); remove_subdevs: qcom_remove_sysmon_subdev(adsp->sysmon); @@ -1171,7 +1170,8 @@ static int adsp_remove(struct platform_device *pdev) struct qcom_adsp *adsp = platform_get_drvdata(pdev); rproc_del(adsp->rproc); - qcom_destroy_ramdump_device(adsp->minidump_dev); + if (adsp->minidump_dev) + qcom_destroy_ramdump_device(adsp->minidump_dev); device_remove_file(adsp->dev, &dev_attr_txn_id); qcom_remove_glink_subdev(adsp->rproc, &adsp->glink_subdev); qcom_remove_sysmon_subdev(adsp->sysmon);