tick: Fixup more fallout from hrtimer broadcast mode
authorPreeti U Murthy <preeti@linux.vnet.ibm.com>
Sun, 9 Feb 2014 06:02:22 +0000 (11:32 +0530)
committerMark Brown <broonie@kernel.org>
Wed, 21 Jan 2015 22:08:58 +0000 (22:08 +0000)
The hrtimer mode of broadcast is supported only when
GENERIC_CLOCKEVENTS_BROADCAST and TICK_ONESHOT config options
are enabled. Hence compile in the functions for hrtimer mode
of broadcast only when these options are selected.
Also fix max_delta_ticks value for the pseudo clock device.

Reported-by: Fengguang Wu <fengguang.wu@intel.com>
Reported-by: Ingo Molnar <mingo@kernel.org>
Signed-off-by: Preeti U Murthy <preeti@linux.vnet.ibm.com>
Link: http://lkml.kernel.org/r/52F719EE.9010304@linux.vnet.ibm.com
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
(cherry picked from commit 849401b66d305f3feb75b6db7459b95ad190552a)
Signed-off-by: Mark Brown <broonie@kernel.org>
Conflicts:
kernel/time/Makefile

include/linux/clockchips.h
kernel/time/Makefile
kernel/time/tick-broadcast-hrtimer.c

index fd294ee03dcfb1ce6a7c720960ed6598bcb73689..a4520e27f8bda52a4ade98618dd7c6944edd5142 100644 (file)
@@ -202,6 +202,7 @@ static inline void clockevents_resume(void) {}
 
 static inline int clockevents_notify(unsigned long reason, void *arg) { return 0; }
 static inline int tick_check_broadcast_expired(void) { return 0; }
+static inline void tick_setup_hrtimer_broadcast(void) {};
 
 #endif
 
index efb64bee18172fa40311eb10f734bc0e77536613..a64e0de74c0d0bed8645db0da1be7322ca5316df 100644 (file)
@@ -3,7 +3,10 @@ obj-y += timeconv.o posix-clock.o alarmtimer.o
 
 obj-$(CONFIG_GENERIC_CLOCKEVENTS_BUILD)                += clockevents.o
 obj-$(CONFIG_GENERIC_CLOCKEVENTS)              += tick-common.o
-obj-$(CONFIG_GENERIC_CLOCKEVENTS_BROADCAST)    += tick-broadcast.o tick-broadcast-hrtimer.o
+ifeq ($(CONFIG_GENERIC_CLOCKEVENTS_BROADCAST),y)
+ obj-y                                         += tick-broadcast.o
+ obj-$(CONFIG_TICK_ONESHOT)                    += tick-broadcast-hrtimer.o
+endif
 obj-$(CONFIG_TICK_ONESHOT)                     += tick-oneshot.o
 obj-$(CONFIG_TICK_ONESHOT)                     += tick-sched.o
 obj-$(CONFIG_TIMER_STATS)                      += timer_stats.o
index 92425279312bdb0e166f23946ebc13c8a40c2f0c..eb682d5c697cd5b67c988654915d1f5333fbe342 100644 (file)
@@ -82,7 +82,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,