4 #include <linux/hrtimer.h>
7 #ifdef CONFIG_GENERIC_CLOCKEVENTS_BUILD
9 #define TICK_DO_TIMER_NONE -1
10 #define TICK_DO_TIMER_BOOT -2
25 #ifdef CONFIG_TICK_ONESHOT
27 void (*handler)(
struct clock_event_device *),
33 # ifdef CONFIG_GENERIC_CLOCKEVENTS_BROADCAST
34 extern void tick_broadcast_setup_oneshot(
struct clock_event_device *
bc);
35 extern void tick_broadcast_oneshot_control(
unsigned long reason);
36 extern void tick_broadcast_switch_to_oneshot(
void);
37 extern void tick_shutdown_broadcast_oneshot(
unsigned int *cpup);
38 extern int tick_resume_broadcast_oneshot(
struct clock_event_device *
bc);
39 extern int tick_broadcast_oneshot_active(
void);
40 extern void tick_check_oneshot_broadcast(
int cpu);
41 bool tick_broadcast_oneshot_available(
void);
43 static inline void tick_broadcast_setup_oneshot(
struct clock_event_device *
bc)
47 static inline void tick_broadcast_oneshot_control(
unsigned long reason) { }
48 static inline void tick_broadcast_switch_to_oneshot(
void) { }
49 static inline void tick_shutdown_broadcast_oneshot(
unsigned int *cpup) { }
50 static inline int tick_broadcast_oneshot_active(
void) {
return 0; }
51 static inline void tick_check_oneshot_broadcast(
int cpu) { }
52 static inline bool tick_broadcast_oneshot_available(
void) {
return true; }
58 void (*handler)(
struct clock_event_device *),
72 static inline void tick_broadcast_setup_oneshot(
struct clock_event_device *
bc)
76 static inline void tick_broadcast_oneshot_control(
unsigned long reason) { }
77 static inline void tick_shutdown_broadcast_oneshot(
unsigned int *cpup) { }
78 static inline int tick_resume_broadcast_oneshot(
struct clock_event_device *
bc)
82 static inline int tick_broadcast_oneshot_active(
void) {
return 0; }
83 static inline bool tick_broadcast_oneshot_available(
void) {
return false; }
89 #ifdef CONFIG_GENERIC_CLOCKEVENTS_BROADCAST
117 static inline void tick_do_periodic_broadcast(
struct clock_event_device *
d) { }
136 static inline int tick_device_is_functional(
struct clock_event_device *
dev)
138 return !(dev->features & CLOCK_EVT_FEAT_DUMMY);