On 10-Jun-2014, at 6:24 pm, Frederic Weisbecker fweisbec@gmail.com wrote:
On Tue, Jun 10, 2014 at 03:10:45PM +0530, Viresh Kumar wrote:
On 9 June 2014 13:49, Viresh Kumar viresh.kumar@linaro.org wrote: diff --git a/include/linux/tick.h b/include/linux/tick.h index b84773c..f9bc979 100644 --- a/include/linux/tick.h +++ b/include/linux/tick.h @@ -81,6 +81,8 @@ extern struct tick_device *tick_get_device(int cpu); # ifdef CONFIG_HIGH_RES_TIMERS extern int tick_init_highres(void); extern int tick_program_event(ktime_t expires, int force); +extern void tick_stop_event(void); +extern void tick_restart_event(void); extern void tick_setup_sched_timer(void); # endif
This isn't enough as we need dummy definitions for tick-sched.c file as well for configurations where ONESHOT isn't present..
Following diff is folded into the original commit:
diff --git a/kernel/time/tick-internal.h b/kernel/time/tick-internal.h index 7ab92b1..6ca2b75 100644 --- a/kernel/time/tick-internal.h +++ b/kernel/time/tick-internal.h @@ -41,6 +41,8 @@ extern void tick_setup_oneshot(struct clock_event_device *newdev, void (*handler)(struct clock_event_device *), ktime_t nextevt); extern int tick_program_event(ktime_t expires, int force); +extern void tick_stop_event(void); +extern void tick_restart_event(void); extern void tick_oneshot_notify(void); extern int tick_switch_to_oneshot(void (*handler)(struct clock_event_device *)); extern void tick_resume_oneshot(void); @@ -82,6 +84,14 @@ static inline int tick_program_event(ktime_t expires, int force) { return 0; } +static inline void tick_stop_event(void) +{
BUG();
+} +static inline void tick_restart_event(void) +{
BUG();
+} static inline void tick_oneshot_notify(void) { } static inline void tick_broadcast_setup_oneshot(struct clock_event_device *bc) {
If the goal is to ensure these are never called in a given Kconfig off case, IMHO the best is to not define them at all in that case.
That way the mistake is spotted at build time instead of boot time and is way easier to identify.
When I thought again it looks like the dummy implementations are never used as tick-sched is only compiled with ONESHOT configuration. :)