2019-11-04 15:52:37

by Chuhong Yuan

[permalink] [raw]
Subject: [PATCH] rtc: brcmstb-waketimer: add missed clk_disable_unprepare

This driver forgets to disable and unprepare clock when remove.
Add a call to clk_disable_unprepare to fix it.

Signed-off-by: Chuhong Yuan <[email protected]>
---
drivers/rtc/rtc-brcmstb-waketimer.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/drivers/rtc/rtc-brcmstb-waketimer.c b/drivers/rtc/rtc-brcmstb-waketimer.c
index 3e9800f9878a..06b2bdde584a 100644
--- a/drivers/rtc/rtc-brcmstb-waketimer.c
+++ b/drivers/rtc/rtc-brcmstb-waketimer.c
@@ -277,6 +277,8 @@ static int brcmstb_waketmr_remove(struct platform_device *pdev)
struct brcmstb_waketmr *timer = dev_get_drvdata(&pdev->dev);

unregister_reboot_notifier(&timer->reboot_notifier);
+ if (timer->clk)
+ clk_disable_unprepare(timer->clk);

return 0;
}
--
2.23.0


2019-11-04 17:37:39

by Florian Fainelli

[permalink] [raw]
Subject: Re: [PATCH] rtc: brcmstb-waketimer: add missed clk_disable_unprepare

On 11/4/19 7:50 AM, Chuhong Yuan wrote:
> This driver forgets to disable and unprepare clock when remove.
> Add a call to clk_disable_unprepare to fix it.
>
> Signed-off-by: Chuhong Yuan <[email protected]>

This looks fine, you do not need to check for timer->clk, since the
clk_* APIs do that, and we made sure in the probe function that we would
not be passing a timer->clk handle which is valid.

Also feel free to add:

Fixes: c4f07ecee22e ("rtc: brcmstb-waketimer: Add Broadcom STB wake-timer")

Thank you
--
Florian