diff options
author | Takashi Iwai <tiwai@suse.de> | 2017-10-05 15:08:57 +0200 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2017-10-05 15:08:57 +0200 |
commit | 3a9fce327ff9cabf7f89d3f20616a83af28393da (patch) | |
tree | c516d3e7023e7fe2dc8d4cf60e2ec03f3c9b5958 /include/linux/timer.h | |
parent | e195a331c4124a6527e5e1b6fbd93a6b4a984d7b (diff) | |
parent | 394ca81cb4c1518e9463fe342fb1ae8a9f46a82d (diff) |
Merge branch 'topic/timer-api' into for-next
Diffstat (limited to 'include/linux/timer.h')
-rw-r--r-- | include/linux/timer.h | 14 |
1 files changed, 14 insertions, 0 deletions
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, #define setup_pinned_deferrable_timer_on_stack(timer, fn, data) \ __setup_timer_on_stack((timer), (fn), (data), TIMER_DEFERRABLE | TIMER_PINNED) +#define TIMER_DATA_TYPE unsigned long +#define TIMER_FUNC_TYPE void (*)(TIMER_DATA_TYPE) + +static inline void timer_setup(struct timer_list *timer, + void (*callback)(struct timer_list *), + unsigned int flags) +{ + __setup_timer(timer, (TIMER_FUNC_TYPE)callback, + (TIMER_DATA_TYPE)timer, flags); +} + +#define from_timer(var, callback_timer, timer_fieldname) \ + container_of(callback_timer, typeof(*var), timer_fieldname) + /** * timer_pending - is a timer pending? * @timer: the timer in question |