aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/time/posix-timers.c
diff options
context:
space:
mode:
Diffstat (limited to 'kernel/time/posix-timers.c')
-rw-r--r--kernel/time/posix-timers.c20
1 files changed, 10 insertions, 10 deletions
diff --git a/kernel/time/posix-timers.c b/kernel/time/posix-timers.c
index 42d7b9558741..9fe98b3777a2 100644
--- a/kernel/time/posix-timers.c
+++ b/kernel/time/posix-timers.c
@@ -359,7 +359,7 @@ static void schedule_next_timer(struct k_itimer *timr)
359{ 359{
360 struct hrtimer *timer = &timr->it.real.timer; 360 struct hrtimer *timer = &timr->it.real.timer;
361 361
362 if (timr->it.real.interval.tv64 == 0) 362 if (timr->it.real.interval == 0)
363 return; 363 return;
364 364
365 timr->it_overrun += (unsigned int) hrtimer_forward(timer, 365 timr->it_overrun += (unsigned int) hrtimer_forward(timer,
@@ -449,7 +449,7 @@ static enum hrtimer_restart posix_timer_fn(struct hrtimer *timer)
449 timr = container_of(timer, struct k_itimer, it.real.timer); 449 timr = container_of(timer, struct k_itimer, it.real.timer);
450 spin_lock_irqsave(&timr->it_lock, flags); 450 spin_lock_irqsave(&timr->it_lock, flags);
451 451
452 if (timr->it.real.interval.tv64 != 0) 452 if (timr->it.real.interval != 0)
453 si_private = ++timr->it_requeue_pending; 453 si_private = ++timr->it_requeue_pending;
454 454
455 if (posix_timer_event(timr, si_private)) { 455 if (posix_timer_event(timr, si_private)) {
@@ -458,7 +458,7 @@ static enum hrtimer_restart posix_timer_fn(struct hrtimer *timer)
458 * we will not get a call back to restart it AND 458 * we will not get a call back to restart it AND
459 * it should be restarted. 459 * it should be restarted.
460 */ 460 */
461 if (timr->it.real.interval.tv64 != 0) { 461 if (timr->it.real.interval != 0) {
462 ktime_t now = hrtimer_cb_get_time(timer); 462 ktime_t now = hrtimer_cb_get_time(timer);
463 463
464 /* 464 /*
@@ -487,7 +487,7 @@ static enum hrtimer_restart posix_timer_fn(struct hrtimer *timer)
487 { 487 {
488 ktime_t kj = ktime_set(0, NSEC_PER_SEC / HZ); 488 ktime_t kj = ktime_set(0, NSEC_PER_SEC / HZ);
489 489
490 if (timr->it.real.interval.tv64 < kj.tv64) 490 if (timr->it.real.interval < kj)
491 now = ktime_add(now, kj); 491 now = ktime_add(now, kj);
492 } 492 }
493#endif 493#endif
@@ -743,7 +743,7 @@ common_timer_get(struct k_itimer *timr, struct itimerspec *cur_setting)
743 iv = timr->it.real.interval; 743 iv = timr->it.real.interval;
744 744
745 /* interval timer ? */ 745 /* interval timer ? */
746 if (iv.tv64) 746 if (iv)
747 cur_setting->it_interval = ktime_to_timespec(iv); 747 cur_setting->it_interval = ktime_to_timespec(iv);
748 else if (!hrtimer_active(timer) && 748 else if (!hrtimer_active(timer) &&
749 (timr->it_sigev_notify & ~SIGEV_THREAD_ID) != SIGEV_NONE) 749 (timr->it_sigev_notify & ~SIGEV_THREAD_ID) != SIGEV_NONE)
@@ -756,13 +756,13 @@ common_timer_get(struct k_itimer *timr, struct itimerspec *cur_setting)
756 * timer move the expiry time forward by intervals, so 756 * timer move the expiry time forward by intervals, so
757 * expiry is > now. 757 * expiry is > now.
758 */ 758 */
759 if (iv.tv64 && (timr->it_requeue_pending & REQUEUE_PENDING || 759 if (iv && (timr->it_requeue_pending & REQUEUE_PENDING ||
760 (timr->it_sigev_notify & ~SIGEV_THREAD_ID) == SIGEV_NONE)) 760 (timr->it_sigev_notify & ~SIGEV_THREAD_ID) == SIGEV_NONE))
761 timr->it_overrun += (unsigned int) hrtimer_forward(timer, now, iv); 761 timr->it_overrun += (unsigned int) hrtimer_forward(timer, now, iv);
762 762
763 remaining = __hrtimer_expires_remaining_adjusted(timer, now); 763 remaining = __hrtimer_expires_remaining_adjusted(timer, now);
764 /* Return 0 only, when the timer is expired and not pending */ 764 /* Return 0 only, when the timer is expired and not pending */
765 if (remaining.tv64 <= 0) { 765 if (remaining <= 0) {
766 /* 766 /*
767 * A single shot SIGEV_NONE timer must return 0, when 767 * A single shot SIGEV_NONE timer must return 0, when
768 * it is expired ! 768 * it is expired !
@@ -839,7 +839,7 @@ common_timer_set(struct k_itimer *timr, int flags,
839 common_timer_get(timr, old_setting); 839 common_timer_get(timr, old_setting);
840 840
841 /* disable the timer */ 841 /* disable the timer */
842 timr->it.real.interval.tv64 = 0; 842 timr->it.real.interval = 0;
843 /* 843 /*
844 * careful here. If smp we could be in the "fire" routine which will 844 * careful here. If smp we could be in the "fire" routine which will
845 * be spinning as we hold the lock. But this is ONLY an SMP issue. 845 * be spinning as we hold the lock. But this is ONLY an SMP issue.
@@ -924,7 +924,7 @@ retry:
924 924
925static int common_timer_del(struct k_itimer *timer) 925static int common_timer_del(struct k_itimer *timer)
926{ 926{
927 timer->it.real.interval.tv64 = 0; 927 timer->it.real.interval = 0;
928 928
929 if (hrtimer_try_to_cancel(&timer->it.real.timer) < 0) 929 if (hrtimer_try_to_cancel(&timer->it.real.timer) < 0)
930 return TIMER_RETRY; 930 return TIMER_RETRY;