diff options
author | John Stultz <johnstul@us.ibm.com> | 2010-07-13 20:56:23 -0400 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2010-07-27 06:40:54 -0400 |
commit | 7615856ebfee52b080c22d263ca4debbd0df0ac1 (patch) | |
tree | beb06e60af7560c28d5bad41f03a5238636e91fc /kernel/time/timekeeping.c | |
parent | 06d518e3dfb25334282c7e38b4d7a4eada215f6d (diff) |
timkeeping: Fix update_vsyscall to provide wall_to_monotonic offset
update_vsyscall() did not provide the wall_to_monotoinc offset,
so arch specific implementations tend to reference wall_to_monotonic
directly. This limits future cleanups in the timekeeping core, so
this patch fixes the update_vsyscall interface to provide
wall_to_monotonic, allowing wall_to_monotonic to be made static
as planned in Documentation/feature-removal-schedule.txt
Signed-off-by: John Stultz <johnstul@us.ibm.com>
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: Anton Blanchard <anton@samba.org>
Cc: Paul Mackerras <paulus@samba.org>
Cc: Tony Luck <tony.luck@intel.com>
LKML-Reference: <1279068988-21864-7-git-send-email-johnstul@us.ibm.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'kernel/time/timekeeping.c')
-rw-r--r-- | kernel/time/timekeeping.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/kernel/time/timekeeping.c b/kernel/time/timekeeping.c index 73edd4074b50..b15c3acafd5a 100644 --- a/kernel/time/timekeeping.c +++ b/kernel/time/timekeeping.c | |||
@@ -170,7 +170,8 @@ void timekeeping_leap_insert(int leapsecond) | |||
170 | { | 170 | { |
171 | xtime.tv_sec += leapsecond; | 171 | xtime.tv_sec += leapsecond; |
172 | wall_to_monotonic.tv_sec -= leapsecond; | 172 | wall_to_monotonic.tv_sec -= leapsecond; |
173 | update_vsyscall(&xtime, timekeeper.clock, timekeeper.mult); | 173 | update_vsyscall(&xtime, &wall_to_monotonic, timekeeper.clock, |
174 | timekeeper.mult); | ||
174 | } | 175 | } |
175 | 176 | ||
176 | /** | 177 | /** |
@@ -326,7 +327,8 @@ int do_settimeofday(struct timespec *tv) | |||
326 | timekeeper.ntp_error = 0; | 327 | timekeeper.ntp_error = 0; |
327 | ntp_clear(); | 328 | ntp_clear(); |
328 | 329 | ||
329 | update_vsyscall(&xtime, timekeeper.clock, timekeeper.mult); | 330 | update_vsyscall(&xtime, &wall_to_monotonic, timekeeper.clock, |
331 | timekeeper.mult); | ||
330 | 332 | ||
331 | write_sequnlock_irqrestore(&xtime_lock, flags); | 333 | write_sequnlock_irqrestore(&xtime_lock, flags); |
332 | 334 | ||
@@ -809,7 +811,8 @@ void update_wall_time(void) | |||
809 | } | 811 | } |
810 | 812 | ||
811 | /* check to see if there is a new clocksource to use */ | 813 | /* check to see if there is a new clocksource to use */ |
812 | update_vsyscall(&xtime, timekeeper.clock, timekeeper.mult); | 814 | update_vsyscall(&xtime, &wall_to_monotonic, timekeeper.clock, |
815 | timekeeper.mult); | ||
813 | } | 816 | } |
814 | 817 | ||
815 | /** | 818 | /** |