diff options
| author | Thomas Gleixner <tglx@linutronix.de> | 2015-04-02 20:37:24 -0400 |
|---|---|---|
| committer | Ingo Molnar <mingo@kernel.org> | 2015-04-03 02:44:36 -0400 |
| commit | 52c063d1adbc16c76e70fffa20727fcd4e9343b3 (patch) | |
| tree | 08e2f8c56e9e972082adbeda1fe3cff646a45f4e /include/linux | |
| parent | ffa48c0d76803057ee89bf220305466d74256d7b (diff) | |
clockevents: Make tick handover explicit
clockevents_notify() is a leftover from the early design of the
clockevents facility. It's really not a notification mechanism,
it's a multiplex call. We are way better off to have explicit
calls instead of this monstrosity.
Split out the tick_handover call and invoke it explicitely from
the hotplug code. Temporary solution will be cleaned up in later
patches.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
[ Rebase ]
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: John Stultz <john.stultz@linaro.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
Link: http://lkml.kernel.org/r/1658173.RkEEILFiQZ@vostro.rjw.lan
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/clockchips.h | 1 | ||||
| -rw-r--r-- | include/linux/tick.h | 2 |
2 files changed, 2 insertions, 1 deletions
diff --git a/include/linux/clockchips.h b/include/linux/clockchips.h index f97f498a5d10..f4bde22f8a05 100644 --- a/include/linux/clockchips.h +++ b/include/linux/clockchips.h | |||
| @@ -11,7 +11,6 @@ | |||
| 11 | /* Clock event notification values */ | 11 | /* Clock event notification values */ |
| 12 | enum clock_event_nofitiers { | 12 | enum clock_event_nofitiers { |
| 13 | CLOCK_EVT_NOTIFY_ADD, | 13 | CLOCK_EVT_NOTIFY_ADD, |
| 14 | CLOCK_EVT_NOTIFY_CPU_DYING, | ||
| 15 | CLOCK_EVT_NOTIFY_CPU_DEAD, | 14 | CLOCK_EVT_NOTIFY_CPU_DEAD, |
| 16 | }; | 15 | }; |
| 17 | 16 | ||
diff --git a/include/linux/tick.h b/include/linux/tick.h index 6119321fc3be..2c68fa3b9436 100644 --- a/include/linux/tick.h +++ b/include/linux/tick.h | |||
| @@ -19,12 +19,14 @@ extern void tick_unfreeze(void); | |||
| 19 | extern void tick_suspend_local(void); | 19 | extern void tick_suspend_local(void); |
| 20 | /* Should be core only, but XEN resume magic and ARM BL switcher require it */ | 20 | /* Should be core only, but XEN resume magic and ARM BL switcher require it */ |
| 21 | extern void tick_resume_local(void); | 21 | extern void tick_resume_local(void); |
| 22 | extern void tick_handover_do_timer(void); | ||
| 22 | #else /* CONFIG_GENERIC_CLOCKEVENTS */ | 23 | #else /* CONFIG_GENERIC_CLOCKEVENTS */ |
| 23 | static inline void tick_init(void) { } | 24 | static inline void tick_init(void) { } |
| 24 | static inline void tick_freeze(void) { } | 25 | static inline void tick_freeze(void) { } |
| 25 | static inline void tick_unfreeze(void) { } | 26 | static inline void tick_unfreeze(void) { } |
| 26 | static inline void tick_suspend_local(void) { } | 27 | static inline void tick_suspend_local(void) { } |
| 27 | static inline void tick_resume_local(void) { } | 28 | static inline void tick_resume_local(void) { } |
| 29 | static inline void tick_handover_do_timer(void) { } | ||
| 28 | #endif /* !CONFIG_GENERIC_CLOCKEVENTS */ | 30 | #endif /* !CONFIG_GENERIC_CLOCKEVENTS */ |
| 29 | 31 | ||
| 30 | #ifdef CONFIG_TICK_ONESHOT | 32 | #ifdef CONFIG_TICK_ONESHOT |
