Commit 779d2089 authored by David Brownell's avatar David Brownell Committed by Linus Torvalds

rtc_hctosys expects RTCs in UTC (doc)

The RTC "hctosys" mechanism expects that RTC clock will use UTC, not local
time (e.g.  PST).  Say so in Kconfig and in the kernel message.

(Strictly speaking, the RTC clock should be tracking the POSIX epoch.  That's
not worth going into here.  Goofing timezones means clocks are wrong by many
hours; the POSIX-v-UTC differences just cost seconds.)
Signed-off-by: default avatarDavid Brownell <dbrownell@users.sourceforge.net>
Acked-by: default avatarAlessandro Zummo <a.zummo@towertech.it>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent 1299342b
...@@ -36,7 +36,9 @@ config RTC_HCTOSYS_DEVICE ...@@ -36,7 +36,9 @@ config RTC_HCTOSYS_DEVICE
help help
The RTC device that will be used to (re)initialize the system The RTC device that will be used to (re)initialize the system
clock, usually rtc0. Initialization is done when the system clock, usually rtc0. Initialization is done when the system
starts up, and when it resumes from a low power state. starts up, and when it resumes from a low power state. This
device should record time in UTC, since the kernel won't do
timezone correction.
The driver for this RTC device must be loaded before late_initcall The driver for this RTC device must be loaded before late_initcall
functions run, so it must usually be statically linked. functions run, so it must usually be statically linked.
......
...@@ -47,8 +47,8 @@ static int __init rtc_hctosys(void) ...@@ -47,8 +47,8 @@ static int __init rtc_hctosys(void)
do_settimeofday(&tv); do_settimeofday(&tv);
dev_info(rtc->dev.parent, dev_info(rtc->dev.parent,
"setting the system clock to " "setting system clock to "
"%d-%02d-%02d %02d:%02d:%02d (%u)\n", "%d-%02d-%02d %02d:%02d:%02d UTC (%u)\n",
tm.tm_year + 1900, tm.tm_mon + 1, tm.tm_mday, tm.tm_year + 1900, tm.tm_mon + 1, tm.tm_mday,
tm.tm_hour, tm.tm_min, tm.tm_sec, tm.tm_hour, tm.tm_min, tm.tm_sec,
(unsigned int) tv.tv_sec); (unsigned int) tv.tv_sec);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment