diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-03-20 13:32:09 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-03-20 13:32:09 -0400 |
commit | 161f7a7161191ab9c2e97f787829ef8dd2b95771 (patch) | |
tree | 9776d3f963c7f0d247b7fb324eab4811a1302f67 /include | |
parent | 2ba68940c893c8f0bfc8573c041254251bb6aeab (diff) | |
parent | a078c6d0e6288fad6d83fb6d5edd91ddb7b6ab33 (diff) |
Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull timer changes for v3.4 from Ingo Molnar
* 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (32 commits)
ntp: Fix integer overflow when setting time
math: Introduce div64_long
cs5535-clockevt: Allow the MFGPT IRQ to be shared
cs5535-clockevt: Don't ignore MFGPT on SMP-capable kernels
x86/time: Eliminate unused irq0_irqs counter
clocksource: scx200_hrt: Fix the build
x86/tsc: Reduce the TSC sync check time for core-siblings
timer: Fix bad idle check on irq entry
nohz: Remove ts->Einidle checks before restarting the tick
nohz: Remove update_ts_time_stat from tick_nohz_start_idle
clockevents: Leave the broadcast device in shutdown mode when not needed
clocksource: Load the ACPI PM clocksource asynchronously
clocksource: scx200_hrt: Convert scx200 to use clocksource_register_hz
clocksource: Get rid of clocksource_calc_mult_shift()
clocksource: dbx500: convert to clocksource_register_hz()
clocksource: scx200_hrt: use pr_<level> instead of printk
time: Move common updates to a function
time: Reorder so the hot data is together
time: Remove most of xtime_lock usage in timekeeping.c
ntp: Add ntp_lock to replace xtime_locking
...
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/clocksource.h | 7 | ||||
-rw-r--r-- | include/linux/math64.h | 4 | ||||
-rw-r--r-- | include/linux/timex.h | 17 |
3 files changed, 5 insertions, 23 deletions
diff --git a/include/linux/clocksource.h b/include/linux/clocksource.h index 081147da0564..fbe89e17124e 100644 --- a/include/linux/clocksource.h +++ b/include/linux/clocksource.h | |||
@@ -319,13 +319,6 @@ static inline void __clocksource_updatefreq_khz(struct clocksource *cs, u32 khz) | |||
319 | __clocksource_updatefreq_scale(cs, 1000, khz); | 319 | __clocksource_updatefreq_scale(cs, 1000, khz); |
320 | } | 320 | } |
321 | 321 | ||
322 | static inline void | ||
323 | clocksource_calc_mult_shift(struct clocksource *cs, u32 freq, u32 minsec) | ||
324 | { | ||
325 | return clocks_calc_mult_shift(&cs->mult, &cs->shift, freq, | ||
326 | NSEC_PER_SEC, minsec); | ||
327 | } | ||
328 | |||
329 | #ifdef CONFIG_GENERIC_TIME_VSYSCALL | 322 | #ifdef CONFIG_GENERIC_TIME_VSYSCALL |
330 | extern void | 323 | extern void |
331 | update_vsyscall(struct timespec *ts, struct timespec *wtm, | 324 | update_vsyscall(struct timespec *ts, struct timespec *wtm, |
diff --git a/include/linux/math64.h b/include/linux/math64.h index 23fcdfcba81b..b8ba85544721 100644 --- a/include/linux/math64.h +++ b/include/linux/math64.h | |||
@@ -6,6 +6,8 @@ | |||
6 | 6 | ||
7 | #if BITS_PER_LONG == 64 | 7 | #if BITS_PER_LONG == 64 |
8 | 8 | ||
9 | #define div64_long(x,y) div64_s64((x),(y)) | ||
10 | |||
9 | /** | 11 | /** |
10 | * div_u64_rem - unsigned 64bit divide with 32bit divisor with remainder | 12 | * div_u64_rem - unsigned 64bit divide with 32bit divisor with remainder |
11 | * | 13 | * |
@@ -45,6 +47,8 @@ static inline s64 div64_s64(s64 dividend, s64 divisor) | |||
45 | 47 | ||
46 | #elif BITS_PER_LONG == 32 | 48 | #elif BITS_PER_LONG == 32 |
47 | 49 | ||
50 | #define div64_long(x,y) div_s64((x),(y)) | ||
51 | |||
48 | #ifndef div_u64_rem | 52 | #ifndef div_u64_rem |
49 | static inline u64 div_u64_rem(u64 dividend, u32 divisor, u32 *remainder) | 53 | static inline u64 div_u64_rem(u64 dividend, u32 divisor, u32 *remainder) |
50 | { | 54 | { |
diff --git a/include/linux/timex.h b/include/linux/timex.h index aa60fe7b6ed6..b75e1864ed19 100644 --- a/include/linux/timex.h +++ b/include/linux/timex.h | |||
@@ -234,23 +234,9 @@ struct timex { | |||
234 | extern unsigned long tick_usec; /* USER_HZ period (usec) */ | 234 | extern unsigned long tick_usec; /* USER_HZ period (usec) */ |
235 | extern unsigned long tick_nsec; /* ACTHZ period (nsec) */ | 235 | extern unsigned long tick_nsec; /* ACTHZ period (nsec) */ |
236 | 236 | ||
237 | /* | ||
238 | * phase-lock loop variables | ||
239 | */ | ||
240 | extern int time_status; /* clock synchronization status bits */ | ||
241 | |||
242 | extern void ntp_init(void); | 237 | extern void ntp_init(void); |
243 | extern void ntp_clear(void); | 238 | extern void ntp_clear(void); |
244 | 239 | ||
245 | /** | ||
246 | * ntp_synced - Returns 1 if the NTP status is not UNSYNC | ||
247 | * | ||
248 | */ | ||
249 | static inline int ntp_synced(void) | ||
250 | { | ||
251 | return !(time_status & STA_UNSYNC); | ||
252 | } | ||
253 | |||
254 | /* Required to safely shift negative values */ | 240 | /* Required to safely shift negative values */ |
255 | #define shift_right(x, s) ({ \ | 241 | #define shift_right(x, s) ({ \ |
256 | __typeof__(x) __x = (x); \ | 242 | __typeof__(x) __x = (x); \ |
@@ -264,10 +250,9 @@ static inline int ntp_synced(void) | |||
264 | #define NTP_INTERVAL_LENGTH (NSEC_PER_SEC/NTP_INTERVAL_FREQ) | 250 | #define NTP_INTERVAL_LENGTH (NSEC_PER_SEC/NTP_INTERVAL_FREQ) |
265 | 251 | ||
266 | /* Returns how long ticks are at present, in ns / 2^NTP_SCALE_SHIFT. */ | 252 | /* Returns how long ticks are at present, in ns / 2^NTP_SCALE_SHIFT. */ |
267 | extern u64 tick_length; | 253 | extern u64 ntp_tick_length(void); |
268 | 254 | ||
269 | extern void second_overflow(void); | 255 | extern void second_overflow(void); |
270 | extern void update_ntp_one_tick(void); | ||
271 | extern int do_adjtimex(struct timex *); | 256 | extern int do_adjtimex(struct timex *); |
272 | extern void hardpps(const struct timespec *, const struct timespec *); | 257 | extern void hardpps(const struct timespec *, const struct timespec *); |
273 | 258 | ||