aboutsummaryrefslogtreecommitdiffstats
path: root/arch/powerpc/kernel
diff options
context:
space:
mode:
authorJohn Stultz <johnstul@us.ibm.com>2010-07-13 20:56:23 -0400
committerThomas Gleixner <tglx@linutronix.de>2010-07-27 06:40:54 -0400
commit7615856ebfee52b080c22d263ca4debbd0df0ac1 (patch)
treebeb06e60af7560c28d5bad41f03a5238636e91fc /arch/powerpc/kernel
parent06d518e3dfb25334282c7e38b4d7a4eada215f6d (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/powerpc/kernel')
-rw-r--r--arch/powerpc/kernel/time.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/arch/powerpc/kernel/time.c b/arch/powerpc/kernel/time.c
index 0711d60f40b0..e215f76bba1c 100644
--- a/arch/powerpc/kernel/time.c
+++ b/arch/powerpc/kernel/time.c
@@ -849,8 +849,8 @@ static cycle_t timebase_read(struct clocksource *cs)
849 return (cycle_t)get_tb(); 849 return (cycle_t)get_tb();
850} 850}
851 851
852void update_vsyscall(struct timespec *wall_time, struct clocksource *clock, 852void update_vsyscall(struct timespec *wall_time, struct timespec *wtm,
853 u32 mult) 853 struct clocksource *clock, u32 mult)
854{ 854{
855 u64 new_tb_to_xs, new_stamp_xsec; 855 u64 new_tb_to_xs, new_stamp_xsec;
856 856
@@ -882,8 +882,8 @@ void update_vsyscall(struct timespec *wall_time, struct clocksource *clock,
882 vdso_data->tb_orig_stamp = clock->cycle_last; 882 vdso_data->tb_orig_stamp = clock->cycle_last;
883 vdso_data->stamp_xsec = new_stamp_xsec; 883 vdso_data->stamp_xsec = new_stamp_xsec;
884 vdso_data->tb_to_xs = new_tb_to_xs; 884 vdso_data->tb_to_xs = new_tb_to_xs;
885 vdso_data->wtom_clock_sec = wall_to_monotonic.tv_sec; 885 vdso_data->wtom_clock_sec = wtm->tv_sec;
886 vdso_data->wtom_clock_nsec = wall_to_monotonic.tv_nsec; 886 vdso_data->wtom_clock_nsec = wtm->tv_nsec;
887 vdso_data->stamp_xtime = *wall_time; 887 vdso_data->stamp_xtime = *wall_time;
888 smp_wmb(); 888 smp_wmb();
889 ++(vdso_data->tb_update_count); 889 ++(vdso_data->tb_update_count);