Re: [PATCH] time/cpuidle:Fixup fallout from hrtimer broadcast modeinclusion

From: David Rientjes
Date: Sun Feb 09 2014 - 02:31:47 EST


On Fri, 7 Feb 2014, Preeti U Murthy wrote:

> The broadcast timer registration has to be done only when
> GENERIC_CLOCKEVENTS_BROADCAST and TICK_ONESHOT config options are enabled.
> Also fix max_delta_ticks value for the pseudo clock device.
>
> Reported-by: Fengguang Wu <fengguang.wu@xxxxxxxxx>
> Signed-off-by: Preeti U Murthy <preeti@xxxxxxxxxxxxxxxxxx>
> Cc: Thomas Gleixner <tglx@xxxxxxxxxxxxx>
> Cc: Ingo Molnar <mingo@xxxxxxxxxx>
> ---
>
> kernel/time/tick-broadcast-hrtimer.c | 4 +++-
> 1 file changed, 3 insertions(+), 1 deletion(-)
>
> diff --git a/kernel/time/tick-broadcast-hrtimer.c b/kernel/time/tick-broadcast-hrtimer.c
> index 5591aaa..bc383ac 100644
> --- a/kernel/time/tick-broadcast-hrtimer.c
> +++ b/kernel/time/tick-broadcast-hrtimer.c
> @@ -81,7 +81,7 @@ static struct clock_event_device ce_broadcast_hrtimer = {
> .min_delta_ns = 1,
> .max_delta_ns = KTIME_MAX,
> .min_delta_ticks = 1,
> - .max_delta_ticks = KTIME_MAX,
> + .max_delta_ticks = ULONG_MAX,
> .mult = 1,
> .shift = 0,
> .cpumask = cpu_all_mask,
> @@ -102,9 +102,11 @@ static enum hrtimer_restart bc_handler(struct hrtimer *t)
> return HRTIMER_RESTART;
> }
>
> +#if defined(CONFIG_GENERIC_CLOCKEVENTS_BROADCAST) && defined(CONFIG_TICK_ONESHOT)
> void tick_setup_hrtimer_broadcast(void)
> {
> hrtimer_init(&bctimer, CLOCK_MONOTONIC, HRTIMER_MODE_ABS);
> bctimer.function = bc_handler;
> clockevents_register_device(&ce_broadcast_hrtimer);
> }
> +#endif

I see a build error in timers/core today:

kernel/time/tick-broadcast-hrtimer.c:101:6: error: redefinition of 'tick_setup_hrtimer_broadcast'
include/linux/clockchips.h:194:20: note: previous definition of 'tick_setup_hrtimer_broadcast' was here

and I assume this is the intended fix for that, although it isn't
mentioned in the changelog.

After it's applied, this is left over:

kernel/time/tick-broadcast-hrtimer.c:91:29: warning: âbc_handlerâ defined but not used [-Wunused-function]