Commit 8ab4351a4c888016620f43bde605b3d0964af339

Authored by John Stultz
Committed by Thomas Gleixner
1 parent 9f31f57749

hrtimer: Cleanup direct access to wall_to_monotonic

Provides an accessor function to replace hrtimer.c's
direct access of wall_to_monotonic.

This will allow wall_to_monotonic to be made static as
planned in Documentation/feature-removal-schedule.txt

Signed-off-by: John Stultz <johnstul@us.ibm.com>
LKML-Reference: <1279068988-21864-9-git-send-email-johnstul@us.ibm.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>

Showing 3 changed files with 11 additions and 6 deletions Side-by-side Diff

include/linux/time.h
... ... @@ -126,7 +126,8 @@
126 126  
127 127 unsigned long get_seconds(void);
128 128 struct timespec current_kernel_time(void);
129   -struct timespec __current_kernel_time(void); /* does not hold xtime_lock */
  129 +struct timespec __current_kernel_time(void); /* does not take xtime_lock */
  130 +struct timespec __get_wall_to_monotonic(void); /* does not take xtime_lock */
130 131 struct timespec get_monotonic_coarse(void);
131 132  
132 133 #define CURRENT_TIME (current_kernel_time())
... ... @@ -90,7 +90,7 @@
90 90 do {
91 91 seq = read_seqbegin(&xtime_lock);
92 92 xts = __current_kernel_time();
93   - tom = wall_to_monotonic;
  93 + tom = __get_wall_to_monotonic();
94 94 } while (read_seqretry(&xtime_lock, seq));
95 95  
96 96 xtim = timespec_to_ktime(xts);
... ... @@ -612,7 +612,7 @@
612 612 static void retrigger_next_event(void *arg)
613 613 {
614 614 struct hrtimer_cpu_base *base;
615   - struct timespec realtime_offset;
  615 + struct timespec realtime_offset, wtm;
616 616 unsigned long seq;
617 617  
618 618 if (!hrtimer_hres_active())
619 619  
... ... @@ -620,10 +620,9 @@
620 620  
621 621 do {
622 622 seq = read_seqbegin(&xtime_lock);
623   - set_normalized_timespec(&realtime_offset,
624   - -wall_to_monotonic.tv_sec,
625   - -wall_to_monotonic.tv_nsec);
  623 + wtm = __get_wall_to_monotonic();
626 624 } while (read_seqretry(&xtime_lock, seq));
  625 + set_normalized_timespec(&realtime_offset, -wtm.tv_sec, -wtm.tv_nsec);
627 626  
628 627 base = &__get_cpu_var(hrtimer_bases);
629 628  
kernel/time/timekeeping.c
... ... @@ -858,6 +858,11 @@
858 858 return xtime;
859 859 }
860 860  
  861 +struct timespec __get_wall_to_monotonic(void)
  862 +{
  863 + return wall_to_monotonic;
  864 +}
  865 +
861 866 struct timespec current_kernel_time(void)
862 867 {
863 868 struct timespec now;