Skip to contentSkip to conversation

timers: initialisers

PATCH In review Andrew Morton 1 participant 1 message Nov 5, 2002

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

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)

.