summaryrefslogtreecommitdiff
path: root/kernel/time.c
diff options
context:
space:
mode:
authorDong Zhu <bluezhudong@gmail.com>2012-12-06 14:03:34 (GMT)
committerJohn Stultz <john.stultz@linaro.org>2013-03-15 23:50:12 (GMT)
commitc30bd09915ea243603d7803d53de890c4a6f1474 (patch)
tree83223e29cf442b17874e3a343b05f3bff8e86eb5 /kernel/time.c
parent7c6baa304b841673d3a55ea4fcf9a5cbf7a1674b (diff)
downloadlinux-fsl-qoriq-c30bd09915ea243603d7803d53de890c4a6f1474.tar.xz
timekeeping: Avoid adjust kernel time once hwclock kept in UTC time
If the Hardware Clock kept in local time,kernel will adjust the time to be UTC time.But if Hardware Clock kept in UTC time,system will make a dummy settimeofday call first (sys_tz.tz_minuteswest = 0) to make sure the time is not shifted,so at this point I think maybe it is not necessary to set the kernel time once the sys_tz.tz_minuteswest is zero. Signed-off-by: Dong Zhu <bluezhudong@gmail.com> [jstultz: Updated to merge with conflicting changes ] Signed-off-by: John Stultz <john.stultz@linaro.org>
Diffstat (limited to 'kernel/time.c')
-rw-r--r--kernel/time.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/kernel/time.c b/kernel/time.c
index f8342a4..effac57 100644
--- a/kernel/time.c
+++ b/kernel/time.c
@@ -138,13 +138,14 @@ int persistent_clock_is_local;
*/
static inline void warp_clock(void)
{
- struct timespec adjust;
+ if (sys_tz.tz_minuteswest != 0) {
+ struct timespec adjust;
- adjust = current_kernel_time();
- if (sys_tz.tz_minuteswest != 0)
persistent_clock_is_local = 1;
- adjust.tv_sec += sys_tz.tz_minuteswest * 60;
- do_settimeofday(&adjust);
+ adjust = current_kernel_time();
+ adjust.tv_sec += sys_tz.tz_minuteswest * 60;
+ do_settimeofday(&adjust);
+ }
}
/*