diff options
| -rw-r--r-- | include/linux/timex.h | 1 | ||||
| -rw-r--r-- | kernel/time/ntp.c | 6 | ||||
| -rw-r--r-- | kernel/time/timekeeping.c | 2 |
3 files changed, 5 insertions, 4 deletions
diff --git a/include/linux/timex.h b/include/linux/timex.h index b3726e61368e..dd3edd7dfc94 100644 --- a/include/linux/timex.h +++ b/include/linux/timex.h | |||
| @@ -141,6 +141,7 @@ extern int do_adjtimex(struct timex *); | |||
| 141 | extern void hardpps(const struct timespec *, const struct timespec *); | 141 | extern void hardpps(const struct timespec *, const struct timespec *); |
| 142 | 142 | ||
| 143 | int read_current_timer(unsigned long *timer_val); | 143 | int read_current_timer(unsigned long *timer_val); |
| 144 | void ntp_notify_cmos_timer(void); | ||
| 144 | 145 | ||
| 145 | /* The clock frequency of the i8253/i8254 PIT */ | 146 | /* The clock frequency of the i8253/i8254 PIT */ |
| 146 | #define PIT_TICK_RATE 1193182ul | 147 | #define PIT_TICK_RATE 1193182ul |
diff --git a/kernel/time/ntp.c b/kernel/time/ntp.c index 8f5b3b98577b..bb2215174f05 100644 --- a/kernel/time/ntp.c +++ b/kernel/time/ntp.c | |||
| @@ -516,13 +516,13 @@ static void sync_cmos_clock(struct work_struct *work) | |||
| 516 | schedule_delayed_work(&sync_cmos_work, timespec_to_jiffies(&next)); | 516 | schedule_delayed_work(&sync_cmos_work, timespec_to_jiffies(&next)); |
| 517 | } | 517 | } |
| 518 | 518 | ||
| 519 | static void notify_cmos_timer(void) | 519 | void ntp_notify_cmos_timer(void) |
| 520 | { | 520 | { |
| 521 | schedule_delayed_work(&sync_cmos_work, 0); | 521 | schedule_delayed_work(&sync_cmos_work, 0); |
| 522 | } | 522 | } |
| 523 | 523 | ||
| 524 | #else | 524 | #else |
| 525 | static inline void notify_cmos_timer(void) { } | 525 | void ntp_notify_cmos_timer(void) { } |
| 526 | #endif | 526 | #endif |
| 527 | 527 | ||
| 528 | 528 | ||
| @@ -687,8 +687,6 @@ int __do_adjtimex(struct timex *txc, struct timespec *ts, s32 *time_tai) | |||
| 687 | if (!(time_status & STA_NANO)) | 687 | if (!(time_status & STA_NANO)) |
| 688 | txc->time.tv_usec /= NSEC_PER_USEC; | 688 | txc->time.tv_usec /= NSEC_PER_USEC; |
| 689 | 689 | ||
| 690 | notify_cmos_timer(); | ||
| 691 | |||
| 692 | return result; | 690 | return result; |
| 693 | } | 691 | } |
| 694 | 692 | ||
diff --git a/kernel/time/timekeeping.c b/kernel/time/timekeeping.c index 48b9fffabdc2..947ba25a95a0 100644 --- a/kernel/time/timekeeping.c +++ b/kernel/time/timekeeping.c | |||
| @@ -1703,6 +1703,8 @@ int do_adjtimex(struct timex *txc) | |||
| 1703 | write_seqcount_end(&timekeeper_seq); | 1703 | write_seqcount_end(&timekeeper_seq); |
| 1704 | raw_spin_unlock_irqrestore(&timekeeper_lock, flags); | 1704 | raw_spin_unlock_irqrestore(&timekeeper_lock, flags); |
| 1705 | 1705 | ||
| 1706 | ntp_notify_cmos_timer(); | ||
| 1707 | |||
| 1706 | return ret; | 1708 | return ret; |
| 1707 | } | 1709 | } |
| 1708 | 1710 | ||
