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

[ Upstream commit 340cb392a038cf70540a4cdf2e98a247c66b6df4 ]

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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
Gaosheng Cui 2022-11-25 15:37:57 +08:00 committed by Greg Kroah-Hartman
parent 310268050d
commit 8959188b2f

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;