timer: Clean up timer initializers
authorTejun Heo <tj@kernel.org>
Wed, 8 Aug 2012 18:10:27 +0000 (11:10 -0700)
committerThomas Gleixner <tglx@linutronix.de>
Tue, 21 Aug 2012 14:28:30 +0000 (16:28 +0200)
commitfc683995a6c4e604d62ab9a488ac2c1ba94fa868
treec43956da7c1fc34446d40d64f7cff81475915fee
parent5a9af38d05f6a1bd0d3f1f69a074cdbe9c87e977
timer: Clean up timer initializers

Over time, timer initializers became messy with unnecessarily
duplicated code which are inconsistently spread across timer.h and
timer.c.

This patch cleans up timer initializers.

* timer.c::__init_timer() is renamed to do_init_timer().

* __TIMER_INITIALIZER() added.  It takes @flags and all initializers
  are wrappers around it.

* init_timer[_on_stack]_key() now take @flags.

* __init_timer[_on_stack]() added.  They take @flags and all init
  macros are wrappers around them.

* __setup_timer[_on_stack]() added.  It uses __init_timer() and takes
  @flags.  All setup macros are wrappers around the two.

Note that this patch doesn't add missing init/setup combinations -
e.g. init_timer_deferrable_on_stack().  Adding missing ones is
trivial.

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-4-git-send-email-tj@kernel.org
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
include/linux/timer.h
kernel/timer.c