diff mbox series

[1/2] rtc: snvs: Make SNVS clock always prepared

Message ID 1590113996-31845-1-git-send-email-Anson.Huang@nxp.com
State Accepted
Headers show
Series [1/2] rtc: snvs: Make SNVS clock always prepared | expand

Commit Message

Anson Huang May 22, 2020, 2:19 a.m. UTC
In IRQ handler, ONLY clock enable/disable is called due to
clock prepare can NOT be called in interrupt context, but
clock enable/disable will return failure if prepare count
is 0, to fix this issue, just make SNVS clock always prepared
there, the SNVS clock has no prepare function implemented,
so it won't impact anything.

Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
---
 drivers/rtc/rtc-snvs.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Comments

Alexandre Belloni May 30, 2020, 1:21 a.m. UTC | #1
On Fri, 22 May 2020 10:19:55 +0800, Anson Huang wrote:
> In IRQ handler, ONLY clock enable/disable is called due to
> clock prepare can NOT be called in interrupt context, but
> clock enable/disable will return failure if prepare count
> is 0, to fix this issue, just make SNVS clock always prepared
> there, the SNVS clock has no prepare function implemented,
> so it won't impact anything.

Applied, thanks!

[1/2] rtc: snvs: Make SNVS clock always prepared
      commit: 20af67700bc39bccd838414128f63a72965de6e7
[2/2] rtc: snvs: Add necessary clock operations for RTC APIs
      commit: 4b957bde561f3a56865395be06f1be2c196b0b5e

Best regards,
diff mbox series

Patch

diff --git a/drivers/rtc/rtc-snvs.c b/drivers/rtc/rtc-snvs.c
index 35ee08a..b9371f4 100644
--- a/drivers/rtc/rtc-snvs.c
+++ b/drivers/rtc/rtc-snvs.c
@@ -362,7 +362,7 @@  static int __maybe_unused snvs_rtc_suspend_noirq(struct device *dev)
 	struct snvs_rtc_data *data = dev_get_drvdata(dev);
 
 	if (data->clk)
-		clk_disable_unprepare(data->clk);
+		clk_disable(data->clk);
 
 	return 0;
 }
@@ -372,7 +372,7 @@  static int __maybe_unused snvs_rtc_resume_noirq(struct device *dev)
 	struct snvs_rtc_data *data = dev_get_drvdata(dev);
 
 	if (data->clk)
-		return clk_prepare_enable(data->clk);
+		return clk_enable(data->clk);
 
 	return 0;
 }