diff options
| -rw-r--r-- | arch/um/kernel/time.c | 4 | ||||
| -rw-r--r-- | include/linux/timer.h | 14 |
2 files changed, 16 insertions, 2 deletions
diff --git a/arch/um/kernel/time.c b/arch/um/kernel/time.c index 0b034ebbda2a..7f69d17de354 100644 --- a/arch/um/kernel/time.c +++ b/arch/um/kernel/time.c | |||
| @@ -98,7 +98,7 @@ static struct clocksource timer_clocksource = { | |||
| 98 | .flags = CLOCK_SOURCE_IS_CONTINUOUS, | 98 | .flags = CLOCK_SOURCE_IS_CONTINUOUS, |
| 99 | }; | 99 | }; |
| 100 | 100 | ||
| 101 | static void __init timer_setup(void) | 101 | static void __init um_timer_setup(void) |
| 102 | { | 102 | { |
| 103 | int err; | 103 | int err; |
| 104 | 104 | ||
| @@ -132,5 +132,5 @@ void read_persistent_clock(struct timespec *ts) | |||
| 132 | void __init time_init(void) | 132 | void __init time_init(void) |
| 133 | { | 133 | { |
| 134 | timer_set_signal_handler(); | 134 | timer_set_signal_handler(); |
| 135 | late_time_init = timer_setup; | 135 | late_time_init = um_timer_setup; |
| 136 | } | 136 | } |
diff --git a/include/linux/timer.h b/include/linux/timer.h index e6789b8757d5..6383c528b148 100644 --- a/include/linux/timer.h +++ b/include/linux/timer.h | |||
| @@ -168,6 +168,20 @@ static inline void init_timer_on_stack_key(struct timer_list *timer, | |||
| 168 | #define setup_pinned_deferrable_timer_on_stack(timer, fn, data) \ | 168 | #define setup_pinned_deferrable_timer_on_stack(timer, fn, data) \ |
| 169 | __setup_timer_on_stack((timer), (fn), (data), TIMER_DEFERRABLE | TIMER_PINNED) | 169 | __setup_timer_on_stack((timer), (fn), (data), TIMER_DEFERRABLE | TIMER_PINNED) |
| 170 | 170 | ||
| 171 | #define TIMER_DATA_TYPE unsigned long | ||
| 172 | #define TIMER_FUNC_TYPE void (*)(TIMER_DATA_TYPE) | ||
| 173 | |||
| 174 | static inline void timer_setup(struct timer_list *timer, | ||
| 175 | void (*callback)(struct timer_list *), | ||
| 176 | unsigned int flags) | ||
| 177 | { | ||
| 178 | __setup_timer(timer, (TIMER_FUNC_TYPE)callback, | ||
| 179 | (TIMER_DATA_TYPE)timer, flags); | ||
| 180 | } | ||
| 181 | |||
| 182 | #define from_timer(var, callback_timer, timer_fieldname) \ | ||
| 183 | container_of(callback_timer, typeof(*var), timer_fieldname) | ||
| 184 | |||
| 171 | /** | 185 | /** |
| 172 | * timer_pending - is a timer pending? | 186 | * timer_pending - is a timer pending? |
| 173 | * @timer: the timer in question | 187 | * @timer: the timer in question |
