linux-rtc.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/3] rtc: sh: stop resetting time to epoch
@ 2019-03-20 11:30 Alexandre Belloni
  2019-03-20 11:30 ` [PATCH 2/3] rtc: sh: fix possible race condition Alexandre Belloni
                   ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: Alexandre Belloni @ 2019-03-20 11:30 UTC (permalink / raw)
  To: linux-rtc
  Cc: linux-arm-kernel, Geert Uytterhoeven, Chris Brandt,
	linux-renesas-soc, Alexandre Belloni

There is no point in resetting the time to epoch as this means that
userspace will never get the valuable information that time is actually
invalid.

Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
---
 drivers/rtc/rtc-sh.c | 9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)

diff --git a/drivers/rtc/rtc-sh.c b/drivers/rtc/rtc-sh.c
index d417b203cbc5..f4ac9ec8fbb6 100644
--- a/drivers/rtc/rtc-sh.c
+++ b/drivers/rtc/rtc-sh.c
@@ -276,6 +276,9 @@ static int sh_rtc_read_time(struct device *dev, struct rtc_time *tm)
 	struct sh_rtc *rtc = dev_get_drvdata(dev);
 	unsigned int sec128, sec2, yr, yr100, cf_bit;
 
+	if (!(readb(rtc->regbase + RCR2) & RCR2_RTCEN))
+		return -EINVAL;
+
 	do {
 		unsigned int tmp;
 
@@ -600,12 +603,6 @@ static int __init sh_rtc_probe(struct platform_device *pdev)
 
 	rtc->rtc_dev->max_user_freq = 256;
 
-	/* reset rtc to epoch 0 if time is invalid */
-	if (rtc_read_time(rtc->rtc_dev, &r) < 0) {
-		rtc_time_to_tm(0, &r);
-		rtc_set_time(rtc->rtc_dev, &r);
-	}
-
 	device_init_wakeup(&pdev->dev, 1);
 	return 0;
 
-- 
2.20.1


^ permalink raw reply related	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2019-03-22  7:26 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2019-03-20 11:30 [PATCH 1/3] rtc: sh: stop resetting time to epoch Alexandre Belloni
2019-03-20 11:30 ` [PATCH 2/3] rtc: sh: fix possible race condition Alexandre Belloni
2019-03-21  9:51   ` Geert Uytterhoeven
2019-03-20 11:30 ` [PATCH 3/3] rtc: sh: set range Alexandre Belloni
2019-03-21 10:22   ` Geert Uytterhoeven
2019-03-22  6:12     ` Alexandre Belloni
2019-03-22  7:26       ` Geert Uytterhoeven
2019-03-21  9:46 ` [PATCH 1/3] rtc: sh: stop resetting time to epoch Geert Uytterhoeven

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).