Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9852023d authored by Alexandre Belloni's avatar Alexandre Belloni
Browse files

rtc: sh: stop resetting time to epoch



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.

Reviewed-by: default avatarGeert Uytterhoeven <geert+renesas@glider.be>
Tested-by: default avatarGeert Uytterhoeven <geert+renesas@glider.be>
[Anders Roxell <anders.roxell@linaro.org>: remove unused variable r]
Signed-off-by: default avatarAnders Roxell <anders.roxell@linaro.org>
Signed-off-by: default avatarAlexandre Belloni <alexandre.belloni@bootlin.com>
parent c1576497
Loading
Loading
Loading
Loading
+3 −7
Original line number Diff line number Diff line
@@ -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;

@@ -466,7 +469,6 @@ static int __init sh_rtc_probe(struct platform_device *pdev)
{
	struct sh_rtc *rtc;
	struct resource *res;
	struct rtc_time r;
	char clk_name[6];
	int clk_id, ret;

@@ -600,12 +602,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;