summaryrefslogtreecommitdiffstats
path: root/kernel
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2013-05-29 09:55:01 +0200
committerThomas Gleixner <tglx@linutronix.de>2013-05-29 09:55:01 +0200
commit67dd331c5d811b2e50c935a24c82f31b61c6dcd3 (patch)
tree0980dd54ec6ea9566be374738baacafd8b9c7492 /kernel
parent15ef0298deb3929eb6ad6d2334fd2059fd53807c (diff)
parent0d6bd9953f739dad96d9a0de65383e479ab4e10d (diff)
downloadlinux-67dd331c5d811b2e50c935a24c82f31b61c6dcd3.tar.gz
linux-67dd331c5d811b2e50c935a24c82f31b61c6dcd3.tar.bz2
linux-67dd331c5d811b2e50c935a24c82f31b61c6dcd3.zip
Merge branch 'fortglx/3.10/time' of git://git.linaro.org/people/jstultz/linux into timers/urgent
Diffstat (limited to 'kernel')
-rw-r--r--kernel/time/ntp.c1
-rw-r--r--kernel/time/timekeeping.c8
2 files changed, 8 insertions, 1 deletions
diff --git a/kernel/time/ntp.c b/kernel/time/ntp.c
index 12ff13a838c6..8f5b3b98577b 100644
--- a/kernel/time/ntp.c
+++ b/kernel/time/ntp.c
@@ -874,7 +874,6 @@ static void hardpps_update_phase(long error)
void __hardpps(const struct timespec *phase_ts, const struct timespec *raw_ts)
{
struct pps_normtime pts_norm, freq_norm;
- unsigned long flags;
pts_norm = pps_normalize_ts(*phase_ts);
diff --git a/kernel/time/timekeeping.c b/kernel/time/timekeeping.c
index 98cd470bbe49..baeeb5c87cf1 100644
--- a/kernel/time/timekeeping.c
+++ b/kernel/time/timekeeping.c
@@ -975,6 +975,14 @@ static int timekeeping_suspend(void)
read_persistent_clock(&timekeeping_suspend_time);
+ /*
+ * On some systems the persistent_clock can not be detected at
+ * timekeeping_init by its return value, so if we see a valid
+ * value returned, update the persistent_clock_exists flag.
+ */
+ if (timekeeping_suspend_time.tv_sec || timekeeping_suspend_time.tv_nsec)
+ persistent_clock_exist = true;
+
raw_spin_lock_irqsave(&timekeeper_lock, flags);
write_seqcount_begin(&timekeeper_seq);
timekeeping_forward_now(tk);