timers: initialisers
Subsystems (2)
PATCH 2/4 timers: initialisers
Add some infrastructure for statically initialising timers, use that in workqueues.
include/linux/timer.h | 9 +++++++++ 1 files changed, 9 insertions(+)
include/linux/timer.h renamed from include/linux/timer.h~timer-initialiser +9 -0
@@ -22,6 +22,15 @@ struct timer_list {#define TIMER_MAGIC 0x4b87ad6e +#define TIMER_INITIALIZER (_function, _expires, _data) { \ + .function = (_function), \ + .expires = (_expires), \ + .data = (_data), \ + .base = NULL, \ + .magic = TIMER_MAGIC, \ + .lock = SPIN_LOCK_UNLOCKED, \ + } +/*** * init_timer - initialize a timer. * @timer: the timer to be initialized
.
include/linux/workqueue.h | 4 +++- 1 files changed, 3 insertions(+), 1 deletion(-)
include/linux/workqueue.h renamed from include/linux/workqueue.h~work-initialiser +3 -1
@@ -22,7 +22,9 @@ struct work_struct {#define __WORK_INITIALIZER (n, f, d) { \ .entry = { &(n).entry, &(n).entry }, \ .func = (f), \ - .data = (d) } + .data = (d), \ + .timer = TIMER_INITIALIZER(NULL, 0, 0), \ + }#define DECLARE_WORK (n, f, d) \ struct work_struct n = __WORK_INITIALIZER(n, f, d)
.