remoteproc: qcom: qcom_q6v5_adsp: Fix some return value check
authorWei Yongjun <weiyongjun1@huawei.com>
Wed, 10 Oct 2018 03:59:39 +0000 (03:59 +0000)
committerBjorn Andersson <bjorn.andersson@linaro.org>
Wed, 10 Oct 2018 06:08:07 +0000 (23:08 -0700)
In case of error, the functions devm_kcalloc() and devm_ioremap()
returns NULL pointer not ERR_PTR(). The IS_ERR() test in the return
value check should be replaced with NULL test.

Also removed -EPROBE_DEFER check since devm_kcalloc never return
this error.

Fixes: dc160e449122 ("remoteproc: qcom: Introduce Non-PAS ADSP PIL driver")
Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
drivers/remoteproc/qcom_q6v5_adsp.c

index 3285a8b333c418c55ddec0fa65e58a8219733c8d..79374d1de3117fba0fb8a8ed4e8a1fa22b29627c 100644 (file)
@@ -295,12 +295,8 @@ static int adsp_init_clock(struct qcom_adsp *adsp)
        adsp->num_clks = ARRAY_SIZE(adsp_clk_id);
        adsp->clks = devm_kcalloc(adsp->dev, adsp->num_clks,
                                sizeof(*adsp->clks), GFP_KERNEL);
-       if (IS_ERR(adsp->clks)) {
-               ret = PTR_ERR(adsp->clks);
-               if (ret != -EPROBE_DEFER)
-                       dev_err(adsp->dev, "failed to get adsp clock");
-               return ret;
-       }
+       if (!adsp->clks)
+               return -ENOMEM;
 
        for (i = 0; i < adsp->num_clks; i++)
                adsp->clks[i].id = adsp_clk_id[i];
@@ -337,9 +333,9 @@ static int adsp_init_mmio(struct qcom_adsp *adsp,
        res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
        adsp->qdsp6ss_base = devm_ioremap(&pdev->dev, res->start,
                        resource_size(res));
-       if (IS_ERR(adsp->qdsp6ss_base)) {
+       if (!adsp->qdsp6ss_base) {
                dev_err(adsp->dev, "failed to map QDSP6SS registers\n");
-               return PTR_ERR(adsp->qdsp6ss_base);
+               return -ENOMEM;
        }
 
        syscon = of_parse_phandle(pdev->dev.of_node, "qcom,halt-regs", 0);