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:
parent
ef86b2c280
commit
340cb392a0
|
@ -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;
|
||||||
|
|
Loading…
Reference in New Issue