aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/clockchips.h
diff options
context:
space:
mode:
authorPreeti U Murthy <preeti@linux.vnet.ibm.com>2014-02-07 03:06:06 -0500
committerThomas Gleixner <tglx@linutronix.de>2014-02-07 09:34:29 -0500
commitda7e6f45c34d39186b72328bacc4dd86bff60e0a (patch)
tree414a48cd4d8c037c704946e10a7d2e12342214d7 /include/linux/clockchips.h
parentfe79a9ba11962a603fb6af68fcb476e64031e46c (diff)
time: Change the return type of clockevents_notify() to integer
The broadcast framework can potentially be made use of by archs which do not have an external clock device as well. Then, it is required that one of the CPUs need to handle the broadcasting of wakeup IPIs to the CPUs in deep idle. As a result its local timers should remain functional all the time. For such a CPU, the BROADCAST_ENTER notification has to fail indicating that its clock device cannot be shutdown. To make way for this support, change the return type of tick_broadcast_oneshot_control() and hence clockevents_notify() to indicate such scenarios. Signed-off-by: Preeti U Murthy <preeti@linux.vnet.ibm.com> Cc: deepthi@linux.vnet.ibm.com Cc: paulmck@linux.vnet.ibm.com Cc: fweisbec@gmail.com Cc: paulus@samba.org Cc: srivatsa.bhat@linux.vnet.ibm.com Cc: svaidy@linux.vnet.ibm.com Cc: peterz@infradead.org Cc: benh@kernel.crashing.org Cc: rafael.j.wysocki@intel.com Cc: linuxppc-dev@lists.ozlabs.org Link: http://lkml.kernel.org/r/20140207080606.17187.78306.stgit@preeti.in.ibm.com Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'include/linux/clockchips.h')
-rw-r--r--include/linux/clockchips.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/include/linux/clockchips.h b/include/linux/clockchips.h
index 493aa021c7a9..e0c5a6c418de 100644
--- a/include/linux/clockchips.h
+++ b/include/linux/clockchips.h
@@ -186,9 +186,9 @@ static inline int tick_check_broadcast_expired(void) { return 0; }
186#endif 186#endif
187 187
188#ifdef CONFIG_GENERIC_CLOCKEVENTS 188#ifdef CONFIG_GENERIC_CLOCKEVENTS
189extern void clockevents_notify(unsigned long reason, void *arg); 189extern int clockevents_notify(unsigned long reason, void *arg);
190#else 190#else
191static inline void clockevents_notify(unsigned long reason, void *arg) {} 191static inline int clockevents_notify(unsigned long reason, void *arg) { return 0; }
192#endif 192#endif
193 193
194#else /* CONFIG_GENERIC_CLOCKEVENTS_BUILD */ 194#else /* CONFIG_GENERIC_CLOCKEVENTS_BUILD */
@@ -196,7 +196,7 @@ static inline void clockevents_notify(unsigned long reason, void *arg) {}
196static inline void clockevents_suspend(void) {} 196static inline void clockevents_suspend(void) {}
197static inline void clockevents_resume(void) {} 197static inline void clockevents_resume(void) {}
198 198
199static inline void clockevents_notify(unsigned long reason, void *arg) {} 199static inline int clockevents_notify(unsigned long reason, void *arg) { return 0; }
200static inline int tick_check_broadcast_expired(void) { return 0; } 200static inline int tick_check_broadcast_expired(void) { return 0; }
201 201
202#endif 202#endif