]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
memory: mtk-smi: Use devm_clk_get_enabled()
authorRong Qianfeng <rongqianfeng@vivo.com>
Wed, 21 Aug 2024 03:25:57 +0000 (11:25 +0800)
committerKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Sun, 25 Aug 2024 09:02:17 +0000 (11:02 +0200)
Replace devm_clk_get() and clk_prepare_enable() with
devm_clk_get_enabled() in .probe().

Fix the bug of missing clk_disable_unprepare() in .remove() by
using devm_clk_get_enabled() that can disables and unprepares
it automatically on driver detach.

Fixes: 3c8f4ad85c4b ("memory/mediatek: add support for mt2701")
Cc: honghui.zhang@mediatek.com
Signed-off-by: Rong Qianfeng <rongqianfeng@vivo.com>
Reviewed-by: Yong Wu <yong.wu@mediatek.com>
Link: https://lore.kernel.org/r/20240821032558.43052-1-rongqianfeng@vivo.com
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
drivers/memory/mtk-smi.c

index fbe52ecc0eca82ee92292c671ec702d835c2ffa8..2bc034dff691bff4807ae641417ac20d5ba322d7 100644 (file)
@@ -771,13 +771,9 @@ static int mtk_smi_common_probe(struct platform_device *pdev)
                if (IS_ERR(common->smi_ao_base))
                        return PTR_ERR(common->smi_ao_base);
 
-               common->clk_async = devm_clk_get(dev, "async");
+               common->clk_async = devm_clk_get_enabled(dev, "async");
                if (IS_ERR(common->clk_async))
                        return PTR_ERR(common->clk_async);
-
-               ret = clk_prepare_enable(common->clk_async);
-               if (ret)
-                       return ret;
        } else {
                common->base = devm_platform_ioremap_resource(pdev, 0);
                if (IS_ERR(common->base))