memory: atmel-sdramc: Fix missing clk_disable_unprepare in atmel_ramc_probe()

The clk_disable_unprepare() should be called in the error handling
of caps->has_mpddr_clk, fix it by replacing devm_clk_get and
clk_prepare_enable by devm_clk_get_enabled.

Fixes: e81b6abebc ("memory: add a driver for atmel ram controllers")
Signed-off-by: Gaosheng Cui <cuigaosheng1@huawei.com>
Link: https://lore.kernel.org/r/20221125073757.3535219-1-cuigaosheng1@huawei.com
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
This commit is contained in:
Gaosheng Cui 2022-11-25 15:37:57 +08:00 committed by Krzysztof Kozlowski
parent ef86b2c280
commit 340cb392a0
1 changed files with 2 additions and 4 deletions

View File

@ -47,19 +47,17 @@ static int atmel_ramc_probe(struct platform_device *pdev)
caps = of_device_get_match_data(&pdev->dev); caps = of_device_get_match_data(&pdev->dev);
if (caps->has_ddrck) { if (caps->has_ddrck) {
clk = devm_clk_get(&pdev->dev, "ddrck"); clk = devm_clk_get_enabled(&pdev->dev, "ddrck");
if (IS_ERR(clk)) if (IS_ERR(clk))
return PTR_ERR(clk); return PTR_ERR(clk);
clk_prepare_enable(clk);
} }
if (caps->has_mpddr_clk) { if (caps->has_mpddr_clk) {
clk = devm_clk_get(&pdev->dev, "mpddr"); clk = devm_clk_get_enabled(&pdev->dev, "mpddr");
if (IS_ERR(clk)) { if (IS_ERR(clk)) {
pr_err("AT91 RAMC: couldn't get mpddr clock\n"); pr_err("AT91 RAMC: couldn't get mpddr clock\n");
return PTR_ERR(clk); return PTR_ERR(clk);
} }
clk_prepare_enable(clk);
} }
return 0; return 0;