]> git.kernelconcepts.de Git - karo-tx-linux.git/commitdiff
Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
authorLinus Torvalds <torvalds@linux-foundation.org>
Tue, 3 Nov 2015 22:13:41 +0000 (14:13 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 3 Nov 2015 22:13:41 +0000 (14:13 -0800)
Pull timer updates from Thomas Gleixner:
 "The timer departement provides:

   - More y2038 work in the area of ntp and pps.

   - Optimization of posix cpu timers

   - New time related selftests

   - Some new clocksource drivers

   - The usual pile of fixes, cleanups and improvements"

* 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (25 commits)
  timeconst: Update path in comment
  timers/x86/hpet: Type adjustments
  clocksource/drivers/armada-370-xp: Implement ARM delay timer
  clocksource/drivers/tango_xtal: Add new timer for Tango SoCs
  clocksource/drivers/imx: Allow timer irq affinity change
  clocksource/drivers/exynos_mct: Use container_of() instead of this_cpu_ptr()
  clocksource/drivers/h8300_*: Remove unneeded memset()s
  clocksource/drivers/sh_cmt: Remove unneeded memset() in sh_cmt_setup()
  clocksource/drivers/em_sti: Remove unneeded memset()s
  clocksource/drivers/mediatek: Use GPT as sched clock source
  clockevents/drivers/mtk: Fix spurious interrupt leading to crash
  posix_cpu_timer: Reduce unnecessary sighand lock contention
  posix_cpu_timer: Convert cputimer->running to bool
  posix_cpu_timer: Check thread timers only when there are active thread timers
  posix_cpu_timer: Optimize fastpath_timer_check()
  timers, kselftest: Add 'adjtick' test to validate adjtimex() tick adjustments
  timers: Use __fls in apply_slack()
  clocksource: Remove return statement from void functions
  net: sfc: avoid using timespec
  ntp/pps: use y2038 safe types in pps_event_time
  ...

1  2 
kernel/time/timekeeping.c

index 44d2cc0436f4968a32fb61772e19ca701fccbfb0,d50543101247103f9de5dc7ee8b477b1e056e36f..b1356b7ae57057139acf46c2c68cfa27688bcb63
@@@ -849,7 -849,7 +849,7 @@@ EXPORT_SYMBOL_GPL(ktime_get_real_second
  #ifdef CONFIG_NTP_PPS
  
  /**
-  * getnstime_raw_and_real - get day and raw monotonic time in timespec format
+  * ktime_get_raw_and_real_ts64 - get day and raw monotonic time in timespec format
   * @ts_raw:   pointer to the timespec to be set to raw monotonic time
   * @ts_real:  pointer to the timespec to be set to the time of day
   *
   * same time atomically and stores the resulting timestamps in timespec
   * format.
   */
- void getnstime_raw_and_real(struct timespec *ts_raw, struct timespec *ts_real)
+ void ktime_get_raw_and_real_ts64(struct timespec64 *ts_raw, struct timespec64 *ts_real)
  {
        struct timekeeper *tk = &tk_core.timekeeper;
        unsigned long seq;
        do {
                seq = read_seqcount_begin(&tk_core.seq);
  
-               *ts_raw = timespec64_to_timespec(tk->raw_time);
+               *ts_raw = tk->raw_time;
                ts_real->tv_sec = tk->xtime_sec;
                ts_real->tv_nsec = 0;
  
  
        } while (read_seqcount_retry(&tk_core.seq, seq));
  
-       timespec_add_ns(ts_raw, nsecs_raw);
-       timespec_add_ns(ts_real, nsecs_real);
+       timespec64_add_ns(ts_raw, nsecs_raw);
+       timespec64_add_ns(ts_real, nsecs_real);
  }
- EXPORT_SYMBOL(getnstime_raw_and_real);
+ EXPORT_SYMBOL(ktime_get_raw_and_real_ts64);
  
  #endif /* CONFIG_NTP_PPS */
  
@@@ -1251,7 -1251,7 +1251,7 @@@ void __init timekeeping_init(void
        set_normalized_timespec64(&tmp, -boot.tv_sec, -boot.tv_nsec);
        tk_set_wall_to_mono(tk, tmp);
  
 -      timekeeping_update(tk, TK_MIRROR);
 +      timekeeping_update(tk, TK_MIRROR | TK_CLOCK_WAS_SET);
  
        write_seqcount_end(&tk_core.seq);
        raw_spin_unlock_irqrestore(&timekeeper_lock, flags);
@@@ -1674,7 -1674,7 +1674,7 @@@ static void timekeeping_adjust(struct t
  /**
   * accumulate_nsecs_to_secs - Accumulates nsecs into secs
   *
-  * Helper function that accumulates a the nsecs greater then a second
+  * Helper function that accumulates the nsecs greater than a second
   * from the xtime_nsec field to the xtime_secs field.
   * It also calls into the NTP code to handle leapsecond processing.
   *
@@@ -1726,7 -1726,7 +1726,7 @@@ static cycle_t logarithmic_accumulation
        cycle_t interval = tk->cycle_interval << shift;
        u64 raw_nsecs;
  
-       /* If the offset is smaller then a shifted interval, do nothing */
+       /* If the offset is smaller than a shifted interval, do nothing */
        if (offset < interval)
                return offset;
  
@@@ -2025,7 -2025,7 +2025,7 @@@ int do_adjtimex(struct timex *txc
  /**
   * hardpps() - Accessor function to NTP __hardpps function
   */
- void hardpps(const struct timespec *phase_ts, const struct timespec *raw_ts)
+ void hardpps(const struct timespec64 *phase_ts, const struct timespec64 *raw_ts)
  {
        unsigned long flags;