aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/time/clockevents.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/time/clockevents.c')
-rw-r--r--kernel/time/clockevents.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/kernel/time/clockevents.c b/kernel/time/clockevents.c
index 713ef94eceef..1ecd6ba36d6c 100644
--- a/kernel/time/clockevents.c
+++ b/kernel/time/clockevents.c
@@ -216,6 +216,10 @@ int clockevents_program_event(struct clock_event_device *dev, ktime_t expires,
216 if (dev->mode == CLOCK_EVT_MODE_SHUTDOWN) 216 if (dev->mode == CLOCK_EVT_MODE_SHUTDOWN)
217 return 0; 217 return 0;
218 218
219 /* Shortcut for clockevent devices that can deal with ktime. */
220 if (dev->features & CLOCK_EVT_FEAT_KTIME)
221 return dev->set_next_ktime(expires, dev);
222
219 delta = ktime_to_ns(ktime_sub(expires, ktime_get())); 223 delta = ktime_to_ns(ktime_sub(expires, ktime_get()));
220 if (delta <= 0) 224 if (delta <= 0)
221 return force ? clockevents_program_min_delta(dev) : -ETIME; 225 return force ? clockevents_program_min_delta(dev) : -ETIME;