[PATCH] hrtimer: Remove unused clock_base_next_timer_safe()

From: Zhan Xusheng

Date: Thu Jun 25 2026 - 10:16:45 EST


clock_base_next_timer_safe() was added by commit a64ad57e41c7 ("hrtimer:
Simplify run_hrtimer_queues()") but has never had a caller; the queue
iteration in __hrtimer_run_queues() uses clock_base_next_timer() instead.

The two are functionally equivalent: struct hrtimer embeds its timerqueue
node at offset 0, so container_of() of a NULL node yields NULL. Thus
clock_base_next_timer() already returns NULL on an empty queue and the
explicit NULL check in the _safe variant is redundant.

Being a static __always_inline function it does not trigger
-Wunused-function, so the dead code has gone unnoticed. Remove it.

No functional change.

Signed-off-by: Zhan Xusheng <zhanxusheng@xxxxxxxxxx>
---
kernel/time/hrtimer.c | 7 -------
1 file changed, 7 deletions(-)

diff --git a/kernel/time/hrtimer.c b/kernel/time/hrtimer.c
index 313dcea127fe..2a278ae550a1 100644
--- a/kernel/time/hrtimer.c
+++ b/kernel/time/hrtimer.c
@@ -2060,13 +2060,6 @@ static void __run_hrtimer(struct hrtimer_cpu_base *cpu_base, struct hrtimer_cloc
base->running = NULL;
}

-static __always_inline struct hrtimer *clock_base_next_timer_safe(struct hrtimer_clock_base *base)
-{
- struct timerqueue_linked_node *next = timerqueue_linked_first(&base->active);
-
- return next ? hrtimer_from_timerqueue_node(next) : NULL;
-}
-
static void __hrtimer_run_queues(struct hrtimer_cpu_base *cpu_base, ktime_t now,
unsigned long flags, unsigned int active_mask)
{
--
2.43.0