mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-27 17:11:46 +00:00
timer: Pass function down to initialization routines
In preparation for removing more macros, pass the function down to the initialization routines instead of doing it in macros. Cc: Thomas Gleixner <tglx@linutronix.de> Cc: John Stultz <john.stultz@linaro.org> Cc: Stephen Boyd <sboyd@codeaurora.org> Signed-off-by: Kees Cook <keescook@chromium.org>
This commit is contained in:
parent
1fe66ba572
commit
188665b2d6
2 changed files with 33 additions and 21 deletions
|
@ -707,14 +707,18 @@ static inline void debug_timer_assert_init(struct timer_list *timer)
|
|||
debug_object_assert_init(timer, &timer_debug_descr);
|
||||
}
|
||||
|
||||
static void do_init_timer(struct timer_list *timer, unsigned int flags,
|
||||
static void do_init_timer(struct timer_list *timer,
|
||||
void (*func)(struct timer_list *),
|
||||
unsigned int flags,
|
||||
const char *name, struct lock_class_key *key);
|
||||
|
||||
void init_timer_on_stack_key(struct timer_list *timer, unsigned int flags,
|
||||
void init_timer_on_stack_key(struct timer_list *timer,
|
||||
void (*func)(struct timer_list *),
|
||||
unsigned int flags,
|
||||
const char *name, struct lock_class_key *key)
|
||||
{
|
||||
debug_object_init_on_stack(timer, &timer_debug_descr);
|
||||
do_init_timer(timer, flags, name, key);
|
||||
do_init_timer(timer, func, flags, name, key);
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(init_timer_on_stack_key);
|
||||
|
||||
|
@ -755,10 +759,13 @@ static inline void debug_assert_init(struct timer_list *timer)
|
|||
debug_timer_assert_init(timer);
|
||||
}
|
||||
|
||||
static void do_init_timer(struct timer_list *timer, unsigned int flags,
|
||||
static void do_init_timer(struct timer_list *timer,
|
||||
void (*func)(struct timer_list *),
|
||||
unsigned int flags,
|
||||
const char *name, struct lock_class_key *key)
|
||||
{
|
||||
timer->entry.pprev = NULL;
|
||||
timer->function = func;
|
||||
timer->flags = flags | raw_smp_processor_id();
|
||||
lockdep_init_map(&timer->lockdep_map, name, key, 0);
|
||||
}
|
||||
|
@ -766,6 +773,7 @@ static void do_init_timer(struct timer_list *timer, unsigned int flags,
|
|||
/**
|
||||
* init_timer_key - initialize a timer
|
||||
* @timer: the timer to be initialized
|
||||
* @func: timer callback function
|
||||
* @flags: timer flags
|
||||
* @name: name of the timer
|
||||
* @key: lockdep class key of the fake lock used for tracking timer
|
||||
|
@ -774,11 +782,12 @@ static void do_init_timer(struct timer_list *timer, unsigned int flags,
|
|||
* init_timer_key() must be done to a timer prior calling *any* of the
|
||||
* other timer functions.
|
||||
*/
|
||||
void init_timer_key(struct timer_list *timer, unsigned int flags,
|
||||
void init_timer_key(struct timer_list *timer,
|
||||
void (*func)(struct timer_list *), unsigned int flags,
|
||||
const char *name, struct lock_class_key *key)
|
||||
{
|
||||
debug_init(timer);
|
||||
do_init_timer(timer, flags, name, key);
|
||||
do_init_timer(timer, func, flags, name, key);
|
||||
}
|
||||
EXPORT_SYMBOL(init_timer_key);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue