diff mbox series

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

Message ID 20221125073757.3535219-1-cuigaosheng1@huawei.com (mailing list archive)
State New, archived
Headers show
Series memory: atmel-sdramc: Fix missing clk_disable_unprepare in atmel_ramc_probe() | expand

Commit Message

cuigaosheng Nov. 25, 2022, 7:37 a.m. UTC
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: e81b6abebc87 ("memory: add a driver for atmel ram controllers")
Signed-off-by: Gaosheng Cui <cuigaosheng1@huawei.com>
---
 drivers/memory/atmel-sdramc.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

Comments

Krzysztof Kozlowski Dec. 27, 2022, 8:59 a.m. UTC | #1
On Fri, 25 Nov 2022 15:37:57 +0800, Gaosheng Cui wrote:
> 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.
> 
> 

Applied, thanks!

[1/1] memory: atmel-sdramc: Fix missing clk_disable_unprepare in atmel_ramc_probe()
      https://git.kernel.org/krzk/linux-mem-ctrl/c/340cb392a038cf70540a4cdf2e98a247c66b6df4

Best regards,
diff mbox series

Patch

diff --git a/drivers/memory/atmel-sdramc.c b/drivers/memory/atmel-sdramc.c
index 9c49d00c2a96..ea6e9e1eaf04 100644
--- a/drivers/memory/atmel-sdramc.c
+++ b/drivers/memory/atmel-sdramc.c
@@ -47,19 +47,17 @@  static int atmel_ramc_probe(struct platform_device *pdev)
 	caps = of_device_get_match_data(&pdev->dev);
 
 	if (caps->has_ddrck) {
-		clk = devm_clk_get(&pdev->dev, "ddrck");
+		clk = devm_clk_get_enabled(&pdev->dev, "ddrck");
 		if (IS_ERR(clk))
 			return PTR_ERR(clk);
-		clk_prepare_enable(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)) {
 			pr_err("AT91 RAMC: couldn't get mpddr clock\n");
 			return PTR_ERR(clk);
 		}
-		clk_prepare_enable(clk);
 	}
 
 	return 0;