Re: [PATCH] rtc: Don't state that the RTC holds UTC in case it doesn't

From: Alexandre Belloni
Date: Mon Jun 24 2019 - 15:57:15 EST


On 21/06/2019 11:51:26+1000, Finn Thain wrote:
> Some machines store local time in the Real Time Clock. The hard-coded
> "UTC" string is wrong on those machines so just omit that string.
> Update the log parser so it doesn't require the string "UTC".
>

I don't agree, hctossys will always think the RTC is in UTC. If you
store local time in the RTC, then you are probably not using hctosys
because it definitively doesn't know about the timezone and will
incorrectly set the system time. That information is usually kept in
/etc/adjtime.

> Signed-off-by: Finn Thain <fthain@xxxxxxxxxxxxxxxxxxx>
> ---
> drivers/rtc/hctosys.c | 2 +-
> tools/power/pm-graph/bootgraph.py | 2 +-
> 2 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/rtc/hctosys.c b/drivers/rtc/hctosys.c
> index ff2092a0d38c..2270eca23203 100644
> --- a/drivers/rtc/hctosys.c
> +++ b/drivers/rtc/hctosys.c
> @@ -58,7 +58,7 @@ static int __init rtc_hctosys(void)
>
> err = do_settimeofday64(&tv64);
>
> - dev_info(rtc->dev.parent, "setting system clock to %ptR UTC (%lld)\n",
> + dev_info(rtc->dev.parent, "setting system clock to %ptR (%lld)\n",
> &tm, (long long)tv64.tv_sec);
>
> err_read:
> diff --git a/tools/power/pm-graph/bootgraph.py b/tools/power/pm-graph/bootgraph.py
> index 6dae57041537..5a045d1cb879 100755
> --- a/tools/power/pm-graph/bootgraph.py
> +++ b/tools/power/pm-graph/bootgraph.py
> @@ -333,7 +333,7 @@ def parseKernelLog():
> if(not sysvals.stamp['kernel']):
> sysvals.stamp['kernel'] = sysvals.kernelVersion(msg)
> continue
> - m = re.match('.* setting system clock to (?P<t>.*) UTC.*', msg)
> + m = re.match('.* setting system clock to (?P<t>.*) (?:UTC )?\(.*', msg)
> if(m):
> bt = datetime.strptime(m.group('t'), '%Y-%m-%d %H:%M:%S')
> bt = bt - timedelta(seconds=int(ktime))
> --
> 2.21.0
>

--
Alexandre Belloni, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com