aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/rtc/stm32_rtc.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/rtc/stm32_rtc.c')
-rw-r--r--drivers/rtc/stm32_rtc.c16
1 files changed, 4 insertions, 12 deletions
diff --git a/drivers/rtc/stm32_rtc.c b/drivers/rtc/stm32_rtc.c
index 1753283460d..ec7584c3d70 100644
--- a/drivers/rtc/stm32_rtc.c
+++ b/drivers/rtc/stm32_rtc.c
@@ -223,10 +223,8 @@ static int stm32_rtc_init(struct udevice *dev)
return ret;
ret = clk_enable(&clk);
- if (ret) {
- clk_free(&clk);
+ if (ret)
return ret;
- }
rate = clk_get_rate(&clk);
@@ -275,10 +273,8 @@ static int stm32_rtc_init(struct udevice *dev)
unlock:
stm32_rtc_lock(dev);
- if (ret) {
+ if (ret)
clk_disable(&clk);
- clk_free(&clk);
- }
return ret;
}
@@ -298,17 +294,13 @@ static int stm32_rtc_probe(struct udevice *dev)
return ret;
ret = clk_enable(&clk);
- if (ret) {
- clk_free(&clk);
+ if (ret)
return ret;
- }
ret = stm32_rtc_init(dev);
- if (ret) {
+ if (ret)
clk_disable(&clk);
- clk_free(&clk);
- }
return ret;
}