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 /arch/ia64 | |
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 'arch/ia64')
-rw-r--r-- | arch/ia64/kernel/time.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/arch/ia64/kernel/time.c b/arch/ia64/kernel/time.c index 653b3c46ea82..ed6f22eb5b12 100644 --- a/arch/ia64/kernel/time.c +++ b/arch/ia64/kernel/time.c | |||
@@ -471,7 +471,8 @@ void update_vsyscall_tz(void) | |||
471 | { | 471 | { |
472 | } | 472 | } |
473 | 473 | ||
474 | void update_vsyscall(struct timespec *wall, struct clocksource *c, u32 mult) | 474 | void update_vsyscall(struct timespec *wall, struct timespec *wtm, |
475 | struct clocksource *c, u32 mult) | ||
475 | { | 476 | { |
476 | unsigned long flags; | 477 | unsigned long flags; |
477 | 478 | ||
@@ -487,9 +488,9 @@ void update_vsyscall(struct timespec *wall, struct clocksource *c, u32 mult) | |||
487 | /* copy kernel time structures */ | 488 | /* copy kernel time structures */ |
488 | fsyscall_gtod_data.wall_time.tv_sec = wall->tv_sec; | 489 | fsyscall_gtod_data.wall_time.tv_sec = wall->tv_sec; |
489 | fsyscall_gtod_data.wall_time.tv_nsec = wall->tv_nsec; | 490 | fsyscall_gtod_data.wall_time.tv_nsec = wall->tv_nsec; |
490 | fsyscall_gtod_data.monotonic_time.tv_sec = wall_to_monotonic.tv_sec | 491 | fsyscall_gtod_data.monotonic_time.tv_sec = wtm->tv_sec |
491 | + wall->tv_sec; | 492 | + wall->tv_sec; |
492 | fsyscall_gtod_data.monotonic_time.tv_nsec = wall_to_monotonic.tv_nsec | 493 | fsyscall_gtod_data.monotonic_time.tv_nsec = wtm->tv_nsec |
493 | + wall->tv_nsec; | 494 | + wall->tv_nsec; |
494 | 495 | ||
495 | /* normalize */ | 496 | /* normalize */ |