diff options
author | Dominik Sliwa <dominik.sliwa@toradex.com> | 2017-07-02 16:41:37 +0200 |
---|---|---|
committer | Dominik Sliwa <dominik.sliwa@toradex.com> | 2017-07-02 16:41:37 +0200 |
commit | 52409fae3e4b8d16b68b61902fc09075cd97b75d (patch) | |
tree | e67110145c5843b3f199d872ae285e2546c9ebe2 /backport-include/linux/timer.h |
Backports generated from 4.11 kernel
Initial commit.
Signed-off-by: Dominik Sliwa <dominik.sliwa@toradex.com>
Diffstat (limited to 'backport-include/linux/timer.h')
-rw-r--r-- | backport-include/linux/timer.h | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/backport-include/linux/timer.h b/backport-include/linux/timer.h new file mode 100644 index 0000000..df560a2 --- /dev/null +++ b/backport-include/linux/timer.h @@ -0,0 +1,35 @@ +#ifndef _BACKPORT_TIMER_H +#define _BACKPORT_TIMER_H + +#include_next <linux/timer.h> + +#ifndef setup_deferrable_timer +/* + * The TIMER_DEFERRABLE flag has not been around since 3.0 so + * two different backports are needed here. + */ +#ifdef TIMER_DEFERRABLE +#define setup_deferrable_timer(timer, fn, data) \ + __setup_timer((timer), (fn), (data), TIMER_DEFERRABLE) +#else +static inline void setup_deferrable_timer_key(struct timer_list *timer, + const char *name, + struct lock_class_key *key, + void (*func)(unsigned long), + unsigned long data) +{ + timer->function = func; + timer->data = data; + init_timer_deferrable_key(timer, name, key); +} +#define setup_deferrable_timer(timer, fn, data) \ + do { \ + static struct lock_class_key __key; \ + setup_deferrable_timer_key((timer), #timer, &__key, \ + (fn), (data)); \ + } while (0) +#endif + +#endif + +#endif /* _BACKPORT_TIMER_H */ |