time: Extend get_xtime_and_monotonic_offset() to also return sleep
Extend get_xtime_and_monotonic_offset to
get_xtime_and_monotonic_and_sleep_offset().
CC: Jamie Lokier <jamie@shareable.org>
CC: Thomas Gleixner <tglx@linutronix.de>
CC: Alexander Shishkin <virtuoso@slind.org>
CC: Arve Hjønnevåg <arve@android.com>
Signed-off-by: John Stultz <john.stultz@linaro.org>
diff --git a/kernel/hrtimer.c b/kernel/hrtimer.c
index ca99e24..e8bf3ad 100644
--- a/kernel/hrtimer.c
+++ b/kernel/hrtimer.c
@@ -91,9 +91,9 @@
static void hrtimer_get_softirq_time(struct hrtimer_cpu_base *base)
{
ktime_t xtim, tomono;
- struct timespec xts, tom;
+ struct timespec xts, tom, slp;
- get_xtime_and_monotonic_offset(&xts, &tom);
+ get_xtime_and_monotonic_and_sleep_offset(&xts, &tom, &slp);
xtim = timespec_to_ktime(xts);
tomono = timespec_to_ktime(tom);
@@ -614,12 +614,13 @@
static void retrigger_next_event(void *arg)
{
struct hrtimer_cpu_base *base;
- struct timespec realtime_offset, wtm;
+ struct timespec realtime_offset, wtm, sleep;
if (!hrtimer_hres_active())
return;
- get_xtime_and_monotonic_offset(&realtime_offset, &wtm);
+ get_xtime_and_monotonic_and_sleep_offset(&realtime_offset, &wtm,
+ &sleep);
set_normalized_timespec(&realtime_offset, -wtm.tv_sec, -wtm.tv_nsec);
base = &__get_cpu_var(hrtimer_bases);