diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2009-03-26 16:05:42 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-03-26 16:05:42 -0700 |
commit | 6671de344cd661453bbee3cfde5574a974332436 (patch) | |
tree | 826873ae0180eea53b8fcc6e41938b67c656ba3f /include/linux | |
parent | 831576fe40f4175e0767623cffa4aeb28157943a (diff) | |
parent | 7c526e1fef8d604a9ec022d9145bba5dbfe40a11 (diff) |
Merge branch 'timers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip
* 'timers-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (26 commits)
posix timers: fix RLIMIT_CPU && fork()
time: ntp: fix bug in ntp_update_offset() & do_adjtimex(), fix
time: ntp: clean up second_overflow()
time: ntp: simplify ntp_tick_adj calculations
time: ntp: make 64-bit constants more robust
time: ntp: refactor do_adjtimex() some more
time: ntp: refactor do_adjtimex()
time: ntp: fix bug in ntp_update_offset() & do_adjtimex()
time: ntp: micro-optimize ntp_update_offset()
time: ntp: simplify ntp_update_offset_fll()
time: ntp: refactor and clean up ntp_update_offset()
time: ntp: refactor up ntp_update_frequency()
time: ntp: clean up ntp_update_frequency()
time: ntp: simplify the MAX_TICKADJ_SCALED definition
time: ntp: simplify the second_overflow() code flow
time: ntp: clean up kernel/time/ntp.c
x86: hpet: stop HPET_COUNTER when programming periodic mode
x86: hpet: provide separate functions to stop and start the counter
x86: hpet: print HPET registers during setup (if hpet=verbose is used)
time: apply NTP frequency/tick changes immediately
...
Diffstat (limited to 'include/linux')
-rw-r--r-- | include/linux/timer.h | 22 | ||||
-rw-r--r-- | include/linux/timex.h | 2 |
2 files changed, 3 insertions, 21 deletions
diff --git a/include/linux/timer.h b/include/linux/timer.h index daf9685b861..e2d662e3416 100644 --- a/include/linux/timer.h +++ b/include/linux/timer.h @@ -86,8 +86,8 @@ static inline int timer_pending(const struct timer_list * timer) extern void add_timer_on(struct timer_list *timer, int cpu); extern int del_timer(struct timer_list * timer); -extern int __mod_timer(struct timer_list *timer, unsigned long expires); extern int mod_timer(struct timer_list *timer, unsigned long expires); +extern int mod_timer_pending(struct timer_list *timer, unsigned long expires); /* * The jiffies value which is added to now, when there is no timer @@ -146,25 +146,7 @@ static inline void timer_stats_timer_clear_start_info(struct timer_list *timer) } #endif -/** - * add_timer - start a timer - * @timer: the timer to be added - * - * The kernel will do a ->function(->data) callback from the - * timer interrupt at the ->expires point in the future. The - * current time is 'jiffies'. - * - * The timer's ->expires, ->function (and if the handler uses it, ->data) - * fields must be set prior calling this function. - * - * Timers with an ->expires field in the past will be executed in the next - * timer tick. - */ -static inline void add_timer(struct timer_list *timer) -{ - BUG_ON(timer_pending(timer)); - __mod_timer(timer, timer->expires); -} +extern void add_timer(struct timer_list *timer); #ifdef CONFIG_SMP extern int try_to_del_timer_sync(struct timer_list *timer); diff --git a/include/linux/timex.h b/include/linux/timex.h index 998a55d80ac..aa3475fcff6 100644 --- a/include/linux/timex.h +++ b/include/linux/timex.h @@ -190,7 +190,7 @@ struct timex { * offset and maximum frequency tolerance. */ #define SHIFT_USEC 16 /* frequency offset scale (shift) */ -#define PPM_SCALE (NSEC_PER_USEC << (NTP_SCALE_SHIFT - SHIFT_USEC)) +#define PPM_SCALE ((s64)NSEC_PER_USEC << (NTP_SCALE_SHIFT - SHIFT_USEC)) #define PPM_SCALE_INV_SHIFT 19 #define PPM_SCALE_INV ((1ll << (PPM_SCALE_INV_SHIFT + NTP_SCALE_SHIFT)) / \ PPM_SCALE + 1) |