From: Anna-Maria Gleixner <anna-ma...@linutronix.de>

Preparatory patch for softirq based hrtimers to avoid code duplication. No
functional change.

Signed-off-by: Anna-Maria Gleixner <anna-ma...@linutronix.de>
---
 kernel/time/hrtimer.c |   20 ++++++++++++++++----
 1 file changed, 16 insertions(+), 4 deletions(-)

--- a/kernel/time/hrtimer.c
+++ b/kernel/time/hrtimer.c
@@ -466,13 +466,13 @@ static struct hrtimer_clock_base *
 #define for_each_active_base(base, cpu_base, active)   \
        while ((base = __next_base((cpu_base), &(active))))
 
-static ktime_t __hrtimer_get_next_event(struct hrtimer_cpu_base *cpu_base)
+static ktime_t __hrtimer_next_event_base(struct hrtimer_cpu_base *cpu_base,
+                                        unsigned int active,
+                                        ktime_t expires_next)
 {
        struct hrtimer_clock_base *base;
-       unsigned int active = cpu_base->active_bases;
-       ktime_t expires, expires_next = KTIME_MAX;
+       ktime_t expires;
 
-       cpu_base->next_timer = NULL;
        for_each_active_base(base, cpu_base, active) {
                struct timerqueue_node *next;
                struct hrtimer *timer;
@@ -494,6 +494,18 @@ static ktime_t __hrtimer_get_next_event(
                expires_next = 0;
        return expires_next;
 }
+
+static ktime_t __hrtimer_get_next_event(struct hrtimer_cpu_base *cpu_base)
+{
+       unsigned int active = cpu_base->active_bases;
+       ktime_t expires_next = KTIME_MAX;
+
+       cpu_base->next_timer = NULL;
+
+       expires_next = __hrtimer_next_event_base(cpu_base, active, 
expires_next);
+
+       return expires_next;
+}
 #endif
 
 static inline ktime_t hrtimer_update_base(struct hrtimer_cpu_base *base)


Reply via email to