aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/timer.h
diff options
context:
space:
mode:
authorTejun Heo <tj@kernel.org>2012-08-08 14:10:25 -0400
committerThomas Gleixner <tglx@linutronix.de>2012-08-21 10:28:30 -0400
commite52b1db37b89b69ceb08b521a808bd2cf4724481 (patch)
tree9f37d5060e57f1b2746047c204b1c96725463f39 /include/linux/timer.h
parenteec19d1a0d04c80e66eef634f7b8f460f2ca5643 (diff)
timer: Generalize timer->base flags handling
To prepare for addition of another flag, generalize timer->base flags handling. * Rename from TBASE_*_FLAG to TIMER_* and make them LU constants. * Define and use TIMER_FLAG_MASK for flags masking so that multiple flags can be handled correctly. * Don't dereference timer->base directly even if !tbase_get_deferrable(). All two such places are already passed in @base, so use it instead. * Make sure tvec_base's alignment is large enough for timer->base flags using BUILD_BUG_ON(). Signed-off-by: Tejun Heo <tj@kernel.org> Cc: torvalds@linux-foundation.org Cc: peterz@infradead.org Link: http://lkml.kernel.org/r/1344449428-24962-2-git-send-email-tj@kernel.org Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'include/linux/timer.h')
-rw-r--r--include/linux/timer.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/include/linux/timer.h b/include/linux/timer.h
index 6abd9138beda..cbd32ec4dd15 100644
--- a/include/linux/timer.h
+++ b/include/linux/timer.h
@@ -58,7 +58,9 @@ extern struct tvec_base boot_tvec_bases;
58 * the timer will be serviced when the CPU eventually wakes up with a 58 * the timer will be serviced when the CPU eventually wakes up with a
59 * subsequent non-deferrable timer. 59 * subsequent non-deferrable timer.
60 */ 60 */
61#define TBASE_DEFERRABLE_FLAG (0x1) 61#define TIMER_DEFERRABLE 0x1LU
62
63#define TIMER_FLAG_MASK 0x1LU
62 64
63#define TIMER_INITIALIZER(_function, _expires, _data) { \ 65#define TIMER_INITIALIZER(_function, _expires, _data) { \
64 .entry = { .prev = TIMER_ENTRY_STATIC }, \ 66 .entry = { .prev = TIMER_ENTRY_STATIC }, \
@@ -72,7 +74,7 @@ extern struct tvec_base boot_tvec_bases;
72 } 74 }
73 75
74#define TBASE_MAKE_DEFERRED(ptr) ((struct tvec_base *) \ 76#define TBASE_MAKE_DEFERRED(ptr) ((struct tvec_base *) \
75 ((unsigned char *)(ptr) + TBASE_DEFERRABLE_FLAG)) 77 ((unsigned char *)(ptr) + TIMER_DEFERRABLE))
76 78
77#define TIMER_DEFERRED_INITIALIZER(_function, _expires, _data) {\ 79#define TIMER_DEFERRED_INITIALIZER(_function, _expires, _data) {\
78 .entry = { .prev = TIMER_ENTRY_STATIC }, \ 80 .entry = { .prev = TIMER_ENTRY_STATIC }, \