soc: mediatek: mtk-svs: Cleanup of svs_probe() function
authorAngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Tue, 21 Nov 2023 12:50:39 +0000 (13:50 +0100)
committerAngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Mon, 11 Dec 2023 10:36:14 +0000 (11:36 +0100)
Cleanup the svs_probe() function: use dev_err_probe() where possible,
change some efuse read failure gotos and then remove now impossible
IS_ERR_OR_NULL() checks (as they will never return true) for nvmem
(efuse read) failures.
Also remove some unnecessary blank lines.

Link: https://lore.kernel.org/r/20231121125044.78642-16-angelogioacchino.delregno@collabora.com
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
drivers/soc/mediatek/mtk-svs.c

index ac36c2efcafa9125917db659b3f0b9ccf8b0865b..ae0cc22a29418c609231397ed258f110b564680d 100644 (file)
@@ -2775,14 +2775,13 @@ static int svs_probe(struct platform_device *pdev)
        }
 
        if (!svsp_data->efuse_parsing(svsp, svsp_data)) {
-               dev_err(svsp->dev, "efuse data parsing failed\n");
-               ret = -EPERM;
+               ret = dev_err_probe(svsp->dev, -EINVAL, "efuse data parsing failed\n");
                goto svs_probe_free_tefuse;
        }
 
        ret = svs_bank_resource_setup(svsp);
        if (ret) {
-               dev_err(svsp->dev, "svs bank resource setup fail: %d\n", ret);
+               dev_err_probe(svsp->dev, ret, "svs bank resource setup fail\n");
                goto svs_probe_free_tefuse;
        }
 
@@ -2794,43 +2793,40 @@ static int svs_probe(struct platform_device *pdev)
 
        svsp->main_clk = devm_clk_get(svsp->dev, "main");
        if (IS_ERR(svsp->main_clk)) {
-               dev_err(svsp->dev, "failed to get clock: %ld\n",
-                       PTR_ERR(svsp->main_clk));
-               ret = PTR_ERR(svsp->main_clk);
+               ret = dev_err_probe(svsp->dev, PTR_ERR(svsp->main_clk),
+                                   "failed to get clock\n");
                goto svs_probe_free_tefuse;
        }
 
        ret = clk_prepare_enable(svsp->main_clk);
        if (ret) {
-               dev_err(svsp->dev, "cannot enable main clk: %d\n", ret);
+               dev_err_probe(svsp->dev, ret, "cannot enable main clk\n");
                goto svs_probe_free_tefuse;
        }
 
        svsp->base = of_iomap(svsp->dev->of_node, 0);
        if (IS_ERR_OR_NULL(svsp->base)) {
-               dev_err(svsp->dev, "cannot find svs register base\n");
-               ret = -EINVAL;
+               ret = dev_err_probe(svsp->dev, -EINVAL, "cannot find svs register base\n");
                goto svs_probe_clk_disable;
        }
 
        ret = devm_request_threaded_irq(svsp->dev, svsp_irq, NULL, svs_isr,
                                        IRQF_ONESHOT, svsp_data->name, svsp);
        if (ret) {
-               dev_err(svsp->dev, "register irq(%d) failed: %d\n",
-                       svsp_irq, ret);
+               dev_err_probe(svsp->dev, ret, "register irq(%d) failed\n", svsp_irq);
                goto svs_probe_iounmap;
        }
 
        ret = svs_start(svsp);
        if (ret) {
-               dev_err(svsp->dev, "svs start fail: %d\n", ret);
+               dev_err_probe(svsp->dev, ret, "svs start fail\n");
                goto svs_probe_iounmap;
        }
 
 #ifdef CONFIG_DEBUG_FS
        ret = svs_create_debug_cmds(svsp);
        if (ret) {
-               dev_err(svsp->dev, "svs create debug cmds fail: %d\n", ret);
+               dev_err_probe(svsp->dev, ret, "svs create debug cmds fail\n");
                goto svs_probe_iounmap;
        }
 #endif
@@ -2839,18 +2835,12 @@ static int svs_probe(struct platform_device *pdev)
 
 svs_probe_iounmap:
        iounmap(svsp->base);
-
 svs_probe_clk_disable:
        clk_disable_unprepare(svsp->main_clk);
-
 svs_probe_free_tefuse:
-       if (!IS_ERR_OR_NULL(svsp->tefuse))
-               kfree(svsp->tefuse);
-
+       kfree(svsp->tefuse);
 svs_probe_free_efuse:
-       if (!IS_ERR_OR_NULL(svsp->efuse))
-               kfree(svsp->efuse);
-
+       kfree(svsp->efuse);
        return ret;
 }