diff options
Diffstat (limited to 'kernel')
-rw-r--r-- | kernel/hrtimer.c | 9 | ||||
-rw-r--r-- | kernel/posix-timers.c | 9 | ||||
-rw-r--r-- | kernel/sys_ni.c | 7 |
3 files changed, 14 insertions, 11 deletions
diff --git a/kernel/hrtimer.c b/kernel/hrtimer.c index 1069998fe25f..668f3967eb39 100644 --- a/kernel/hrtimer.c +++ b/kernel/hrtimer.c | |||
@@ -306,7 +306,7 @@ EXPORT_SYMBOL_GPL(ktime_sub_ns); | |||
306 | /* | 306 | /* |
307 | * Divide a ktime value by a nanosecond value | 307 | * Divide a ktime value by a nanosecond value |
308 | */ | 308 | */ |
309 | unsigned long ktime_divns(const ktime_t kt, s64 div) | 309 | u64 ktime_divns(const ktime_t kt, s64 div) |
310 | { | 310 | { |
311 | u64 dclc, inc, dns; | 311 | u64 dclc, inc, dns; |
312 | int sft = 0; | 312 | int sft = 0; |
@@ -321,7 +321,7 @@ unsigned long ktime_divns(const ktime_t kt, s64 div) | |||
321 | dclc >>= sft; | 321 | dclc >>= sft; |
322 | do_div(dclc, (unsigned long) div); | 322 | do_div(dclc, (unsigned long) div); |
323 | 323 | ||
324 | return (unsigned long) dclc; | 324 | return dclc; |
325 | } | 325 | } |
326 | #endif /* BITS_PER_LONG >= 64 */ | 326 | #endif /* BITS_PER_LONG >= 64 */ |
327 | 327 | ||
@@ -656,10 +656,9 @@ void unlock_hrtimer_base(const struct hrtimer *timer, unsigned long *flags) | |||
656 | * Forward the timer expiry so it will expire in the future. | 656 | * Forward the timer expiry so it will expire in the future. |
657 | * Returns the number of overruns. | 657 | * Returns the number of overruns. |
658 | */ | 658 | */ |
659 | unsigned long | 659 | u64 hrtimer_forward(struct hrtimer *timer, ktime_t now, ktime_t interval) |
660 | hrtimer_forward(struct hrtimer *timer, ktime_t now, ktime_t interval) | ||
661 | { | 660 | { |
662 | unsigned long orun = 1; | 661 | u64 orun = 1; |
663 | ktime_t delta; | 662 | ktime_t delta; |
664 | 663 | ||
665 | delta = ktime_sub(now, timer->expires); | 664 | delta = ktime_sub(now, timer->expires); |
diff --git a/kernel/posix-timers.c b/kernel/posix-timers.c index 36d563fd9e3b..122d5c787fe2 100644 --- a/kernel/posix-timers.c +++ b/kernel/posix-timers.c | |||
@@ -256,8 +256,9 @@ static void schedule_next_timer(struct k_itimer *timr) | |||
256 | if (timr->it.real.interval.tv64 == 0) | 256 | if (timr->it.real.interval.tv64 == 0) |
257 | return; | 257 | return; |
258 | 258 | ||
259 | timr->it_overrun += hrtimer_forward(timer, timer->base->get_time(), | 259 | timr->it_overrun += (unsigned int) hrtimer_forward(timer, |
260 | timr->it.real.interval); | 260 | timer->base->get_time(), |
261 | timr->it.real.interval); | ||
261 | 262 | ||
262 | timr->it_overrun_last = timr->it_overrun; | 263 | timr->it_overrun_last = timr->it_overrun; |
263 | timr->it_overrun = -1; | 264 | timr->it_overrun = -1; |
@@ -386,7 +387,7 @@ static enum hrtimer_restart posix_timer_fn(struct hrtimer *timer) | |||
386 | now = ktime_add(now, kj); | 387 | now = ktime_add(now, kj); |
387 | } | 388 | } |
388 | #endif | 389 | #endif |
389 | timr->it_overrun += | 390 | timr->it_overrun += (unsigned int) |
390 | hrtimer_forward(timer, now, | 391 | hrtimer_forward(timer, now, |
391 | timr->it.real.interval); | 392 | timr->it.real.interval); |
392 | ret = HRTIMER_RESTART; | 393 | ret = HRTIMER_RESTART; |
@@ -662,7 +663,7 @@ common_timer_get(struct k_itimer *timr, struct itimerspec *cur_setting) | |||
662 | */ | 663 | */ |
663 | if (iv.tv64 && (timr->it_requeue_pending & REQUEUE_PENDING || | 664 | if (iv.tv64 && (timr->it_requeue_pending & REQUEUE_PENDING || |
664 | (timr->it_sigev_notify & ~SIGEV_THREAD_ID) == SIGEV_NONE)) | 665 | (timr->it_sigev_notify & ~SIGEV_THREAD_ID) == SIGEV_NONE)) |
665 | timr->it_overrun += hrtimer_forward(timer, now, iv); | 666 | timr->it_overrun += (unsigned int) hrtimer_forward(timer, now, iv); |
666 | 667 | ||
667 | remaining = ktime_sub(timer->expires, now); | 668 | remaining = ktime_sub(timer->expires, now); |
668 | /* Return 0 only, when the timer is expired and not pending */ | 669 | /* Return 0 only, when the timer is expired and not pending */ |
diff --git a/kernel/sys_ni.c b/kernel/sys_ni.c index beee5b3b68a2..5b9b467de070 100644 --- a/kernel/sys_ni.c +++ b/kernel/sys_ni.c | |||
@@ -154,7 +154,10 @@ cond_syscall(sys_ioprio_get); | |||
154 | 154 | ||
155 | /* New file descriptors */ | 155 | /* New file descriptors */ |
156 | cond_syscall(sys_signalfd); | 156 | cond_syscall(sys_signalfd); |
157 | cond_syscall(sys_timerfd); | ||
158 | cond_syscall(compat_sys_signalfd); | 157 | cond_syscall(compat_sys_signalfd); |
159 | cond_syscall(compat_sys_timerfd); | 158 | cond_syscall(sys_timerfd_create); |
159 | cond_syscall(sys_timerfd_settime); | ||
160 | cond_syscall(sys_timerfd_gettime); | ||
161 | cond_syscall(compat_sys_timerfd_settime); | ||
162 | cond_syscall(compat_sys_timerfd_gettime); | ||
160 | cond_syscall(sys_eventfd); | 163 | cond_syscall(sys_eventfd); |