diff --git a/kernel/unified/include/timeout_q.h b/kernel/unified/include/timeout_q.h index 9aead81e966..1be213633be 100644 --- a/kernel/unified/include/timeout_q.h +++ b/kernel/unified/include/timeout_q.h @@ -277,15 +277,12 @@ static inline void _nano_timer_timeout_add(struct _timeout *t, } /* find the closest deadline in the timeout queue */ -static inline uint32_t _nano_get_earliest_timeouts_deadline(void) +static inline int32_t _timeout_get_next_expiry(void) { - sys_dlist_t *q = &_nanokernel.timeout_q; - struct _timeout *t = - (struct _timeout *)sys_dlist_peek_head(q); + struct _timeout *t = (struct _timeout *) + sys_dlist_peek_head(&_timeout_q); - return t ? min((uint32_t)t->delta_ticks_from_prev, - (uint32_t)_nanokernel.task_timeout) - : (uint32_t)_nanokernel.task_timeout; + return t ? t->delta_ticks_from_prev : K_FOREVER; } #ifdef __cplusplus diff --git a/kernel/unified/include/wait_q.h b/kernel/unified/include/wait_q.h index 134e3a5d31a..be2b3fcf81a 100644 --- a/kernel/unified/include/wait_q.h +++ b/kernel/unified/include/wait_q.h @@ -111,8 +111,7 @@ static inline void _timeout_remove_tcs_from_wait_q(struct tcs *tcs) #else #define _timeout_tcs_init(tcs) do { } while ((0)) #define _timeout_abort(tcs) do { } while ((0)) - #define _nano_get_earliest_timeouts_deadline() \ - ((uint32_t)TICKS_UNLIMITED) + #define _timeout_get_next_expiry() (K_FOREVER) #define _TIMEOUT_TICK_GET() 0 #define _TIMEOUT_ADD(thread, pq, ticks) do { } while (0) diff --git a/kernel/unified/sys_clock.c b/kernel/unified/sys_clock.c index aedfb7129bd..67e05a45e70 100644 --- a/kernel/unified/sys_clock.c +++ b/kernel/unified/sys_clock.c @@ -225,5 +225,5 @@ void _nano_sys_clock_tick_announce(int32_t ticks) */ uint32_t _nano_get_earliest_deadline(void) { - return _nano_get_earliest_timeouts_deadline(); + return (uint32_t) _timeout_get_next_expiry(); }