@@ -194,8 +194,7 @@ hrtimer_check_target(struct hrtimer *timer, struct hrtimer_clock_base *new_base)
/*
* Switch the timer base to the current CPU when possible.
*/
-static inline struct hrtimer_clock_base *
-switch_hrtimer_base(struct hrtimer *timer, int pinned)
+static inline void switch_hrtimer_base(struct hrtimer *timer, int pinned)
{
struct hrtimer_clock_base *new_base, *base = timer->base;
struct hrtimer_cpu_base *new_cpu_base;
@@ -217,7 +216,7 @@ again:
* the timer is enqueued.
*/
if (unlikely(hrtimer_callback_running(timer)))
- return base;
+ return;
/* See the comment in lock_timer_base() */
timer->base = NULL;
@@ -233,7 +232,6 @@ again:
}
timer->base = new_base;
}
- return new_base;
}
#else /* CONFIG_SMP */
@@ -248,7 +246,7 @@ lock_hrtimer_base(const struct hrtimer *timer, unsigned long *flags)
return base;
}
-# define switch_hrtimer_base(t, p) (t->base)
+static inline void switch_hrtimer_base(struct hrtimer *timer, int pinned) {}
#endif /* !CONFIG_SMP */
@@ -952,7 +950,8 @@ int __hrtimer_start_range_ns(struct hrtimer *timer, ktime_t tim,
ret = remove_hrtimer(timer);
/* Switch the timer base, if necessary: */
- new_base = switch_hrtimer_base(timer, mode & HRTIMER_MODE_PINNED);
+ switch_hrtimer_base(timer, mode & HRTIMER_MODE_PINNED);
+ new_base = timer->base;
if (mode & HRTIMER_MODE_REL) {
tim = ktime_add_safe(tim, new_base->get_time());
switch_hrtimer_base() always sets timer->base to the right base and so the caller can obtain it easily. So, this routine doesn't need to return anything. Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org> --- kernel/hrtimer.c | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-)