diff options
author | Thomas Gleixner <tglx@linutronix.de> | 2017-05-31 00:15:55 +0300 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2017-06-04 16:40:30 +0300 |
commit | e7561f1633ac735df48c55ad09a2530e9ab9fab1 (patch) | |
tree | c61b6404239b8840be0f97bcef7eb0bbb48005eb | |
parent | b3db80f77a95a45dbb2136f7b2a364dc797ea914 (diff) | |
download | linux-e7561f1633ac735df48c55ad09a2530e9ab9fab1.tar.xz |
alarmtimer: Implement forward callback
Preparatory change to utilize the common posix timer mechanisms.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: John Stultz <john.stultz@linaro.org>
Link: http://lkml.kernel.org/r/20170530211657.513694229@linutronix.de
-rw-r--r-- | kernel/time/alarmtimer.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/kernel/time/alarmtimer.c b/kernel/time/alarmtimer.c index be85e3cbfe1b..6082cf1af876 100644 --- a/kernel/time/alarmtimer.c +++ b/kernel/time/alarmtimer.c @@ -549,6 +549,18 @@ static void alarm_timer_rearm(struct k_itimer *timr) } /** + * alarm_timer_forward - Posix timer callback for forwarding timer + * @timr: Pointer to the posixtimer data struct + * @now: Current time to forward the timer against + */ +static int alarm_timer_forward(struct k_itimer *timr, ktime_t now) +{ + struct alarm *alarm = &timr->it.alarm.alarmtimer; + + return (int) alarm_forward(alarm, timr->it_interval, now); +} + +/** * alarm_clock_getres - posix getres interface * @which_clock: clockid * @tp: timespec to fill @@ -876,6 +888,7 @@ const struct k_clock alarm_clock = { .timer_del = alarm_timer_del, .timer_get = alarm_timer_get, .timer_rearm = alarm_timer_rearm, + .timer_forward = alarm_timer_forward, .nsleep = alarm_timer_nsleep, }; #endif /* CONFIG_POSIX_TIMERS */ |