diff options
Diffstat (limited to 'kernel')
-rw-r--r-- | kernel/time/tick-oneshot.c | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/kernel/time/tick-oneshot.c b/kernel/time/tick-oneshot.c index 450c04935b66..06595c64b0c9 100644 --- a/kernel/time/tick-oneshot.c +++ b/kernel/time/tick-oneshot.c | |||
@@ -23,11 +23,11 @@ | |||
23 | #include "tick-internal.h" | 23 | #include "tick-internal.h" |
24 | 24 | ||
25 | /** | 25 | /** |
26 | * tick_program_event | 26 | * tick_program_event internal worker function |
27 | */ | 27 | */ |
28 | int tick_program_event(ktime_t expires, int force) | 28 | static int __tick_program_event(struct clock_event_device *dev, |
29 | ktime_t expires, int force) | ||
29 | { | 30 | { |
30 | struct clock_event_device *dev = __get_cpu_var(tick_cpu_device).evtdev; | ||
31 | ktime_t now = ktime_get(); | 31 | ktime_t now = ktime_get(); |
32 | 32 | ||
33 | while (1) { | 33 | while (1) { |
@@ -41,6 +41,16 @@ int tick_program_event(ktime_t expires, int force) | |||
41 | } | 41 | } |
42 | 42 | ||
43 | /** | 43 | /** |
44 | * tick_program_event | ||
45 | */ | ||
46 | int tick_program_event(ktime_t expires, int force) | ||
47 | { | ||
48 | struct clock_event_device *dev = __get_cpu_var(tick_cpu_device).evtdev; | ||
49 | |||
50 | return __tick_program_event(dev, expires, force); | ||
51 | } | ||
52 | |||
53 | /** | ||
44 | * tick_resume_onshot - resume oneshot mode | 54 | * tick_resume_onshot - resume oneshot mode |
45 | */ | 55 | */ |
46 | void tick_resume_oneshot(void) | 56 | void tick_resume_oneshot(void) |
@@ -61,7 +71,7 @@ void tick_setup_oneshot(struct clock_event_device *newdev, | |||
61 | { | 71 | { |
62 | newdev->event_handler = handler; | 72 | newdev->event_handler = handler; |
63 | clockevents_set_mode(newdev, CLOCK_EVT_MODE_ONESHOT); | 73 | clockevents_set_mode(newdev, CLOCK_EVT_MODE_ONESHOT); |
64 | clockevents_program_event(newdev, next_event, ktime_get()); | 74 | __tick_program_event(newdev, next_event, 1); |
65 | } | 75 | } |
66 | 76 | ||
67 | /** | 77 | /** |