diff options
Diffstat (limited to 'arch/ia64/kernel/time.c')
-rw-r--r-- | arch/ia64/kernel/time.c | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/arch/ia64/kernel/time.c b/arch/ia64/kernel/time.c index 43920de425f1..8e991a0b5e35 100644 --- a/arch/ia64/kernel/time.c +++ b/arch/ia64/kernel/time.c | |||
@@ -35,9 +35,7 @@ | |||
35 | 35 | ||
36 | static cycle_t itc_get_cycles(struct clocksource *cs); | 36 | static cycle_t itc_get_cycles(struct clocksource *cs); |
37 | 37 | ||
38 | struct fsyscall_gtod_data_t fsyscall_gtod_data = { | 38 | struct fsyscall_gtod_data_t fsyscall_gtod_data; |
39 | .lock = __SEQLOCK_UNLOCKED(fsyscall_gtod_data.lock), | ||
40 | }; | ||
41 | 39 | ||
42 | struct itc_jitter_data_t itc_jitter_data; | 40 | struct itc_jitter_data_t itc_jitter_data; |
43 | 41 | ||
@@ -460,9 +458,7 @@ void update_vsyscall_tz(void) | |||
460 | void update_vsyscall(struct timespec *wall, struct timespec *wtm, | 458 | void update_vsyscall(struct timespec *wall, struct timespec *wtm, |
461 | struct clocksource *c, u32 mult) | 459 | struct clocksource *c, u32 mult) |
462 | { | 460 | { |
463 | unsigned long flags; | 461 | write_seqcount_begin(&fsyscall_gtod_data.seq); |
464 | |||
465 | write_seqlock_irqsave(&fsyscall_gtod_data.lock, flags); | ||
466 | 462 | ||
467 | /* copy fsyscall clock data */ | 463 | /* copy fsyscall clock data */ |
468 | fsyscall_gtod_data.clk_mask = c->mask; | 464 | fsyscall_gtod_data.clk_mask = c->mask; |
@@ -485,6 +481,6 @@ void update_vsyscall(struct timespec *wall, struct timespec *wtm, | |||
485 | fsyscall_gtod_data.monotonic_time.tv_sec++; | 481 | fsyscall_gtod_data.monotonic_time.tv_sec++; |
486 | } | 482 | } |
487 | 483 | ||
488 | write_sequnlock_irqrestore(&fsyscall_gtod_data.lock, flags); | 484 | write_seqcount_end(&fsyscall_gtod_data.seq); |
489 | } | 485 | } |
490 | 486 | ||