Message ID | 20170516114812.10660-10-hch@lst.de (mailing list archive) |
---|---|
State | Not Applicable |
Headers | show |
On Tue, May 16, 2017 at 1:48 PM, Christoph Hellwig <hch@lst.de> wrote: > Signed-off-by: Christoph Hellwig <hch@lst.de> > --- > include/linux/timer.h | 22 +++------------------- > 1 file changed, 3 insertions(+), 19 deletions(-) > > diff --git a/include/linux/timer.h b/include/linux/timer.h > index 87afe52c8349..9c6694d3f66a 100644 > --- a/include/linux/timer.h > +++ b/include/linux/timer.h > @@ -80,35 +80,19 @@ struct timer_list { > struct timer_list _name = INIT_TIMER(_func, _expires, _flags) > > /* > - * Don't use the macros below, use DECLARE_TIMER and INIT_TIMER with their > + * Don't use the macro below, use DECLARE_TIMER and INIT_TIMER with their > * improved callback signature above. > */ > -#define __TIMER_INITIALIZER(_function, _expires, _data, _flags) { \ > +#define DEFINE_TIMER(_name, _function, _expires, _data) \ > + struct timer_list _name = { \ > .entry = { .next = TIMER_ENTRY_STATIC }, \ > .function = (_function), \ > .expires = (_expires), \ > .data = (_data), \ > - .flags = (_flags), \ > __TIMER_LOCKDEP_MAP_INITIALIZER( \ > __FILE__ ":" __stringify(__LINE__)) \ > } Not sure what to do about it, but I notice that the '_expires' argument is completely bogus, I don't see any way it could be used in a meaningful way, and the only user that passes anything other than zero is arch/mips/mti-malta/malta-display.c and that seems to be unintentional. Arnd
On Tue, May 16, 2017 at 09:43:34PM +0200, Arnd Bergmann wrote: > > - * Don't use the macros below, use DECLARE_TIMER and INIT_TIMER with their > > + * Don't use the macro below, use DECLARE_TIMER and INIT_TIMER with their > > * improved callback signature above. > > */ > > -#define __TIMER_INITIALIZER(_function, _expires, _data, _flags) { \ > > +#define DEFINE_TIMER(_name, _function, _expires, _data) \ > > + struct timer_list _name = { \ > > .entry = { .next = TIMER_ENTRY_STATIC }, \ > > .function = (_function), \ > > .expires = (_expires), \ > > .data = (_data), \ > > - .flags = (_flags), \ > > __TIMER_LOCKDEP_MAP_INITIALIZER( \ > > __FILE__ ":" __stringify(__LINE__)) \ > > } > > Not sure what to do about it, but I notice that the '_expires' > argument is completely > bogus, I don't see any way it could be used in a meaningful way, and the only > user that passes anything other than zero is arch/mips/mti-malta/malta-display.c > and that seems to be unintentional. DEFINE_TIMER is the old macro and instead of fixing it up I'll just make sure the new DECLARE_TIMER gets rid of it.
diff --git a/include/linux/timer.h b/include/linux/timer.h index 87afe52c8349..9c6694d3f66a 100644 --- a/include/linux/timer.h +++ b/include/linux/timer.h @@ -80,35 +80,19 @@ struct timer_list { struct timer_list _name = INIT_TIMER(_func, _expires, _flags) /* - * Don't use the macros below, use DECLARE_TIMER and INIT_TIMER with their + * Don't use the macro below, use DECLARE_TIMER and INIT_TIMER with their * improved callback signature above. */ -#define __TIMER_INITIALIZER(_function, _expires, _data, _flags) { \ +#define DEFINE_TIMER(_name, _function, _expires, _data) \ + struct timer_list _name = { \ .entry = { .next = TIMER_ENTRY_STATIC }, \ .function = (_function), \ .expires = (_expires), \ .data = (_data), \ - .flags = (_flags), \ __TIMER_LOCKDEP_MAP_INITIALIZER( \ __FILE__ ":" __stringify(__LINE__)) \ } -#define TIMER_INITIALIZER(_function, _expires, _data) \ - __TIMER_INITIALIZER((_function), (_expires), (_data), 0) - -#define TIMER_PINNED_INITIALIZER(_function, _expires, _data) \ - __TIMER_INITIALIZER((_function), (_expires), (_data), TIMER_PINNED) - -#define TIMER_DEFERRED_INITIALIZER(_function, _expires, _data) \ - __TIMER_INITIALIZER((_function), (_expires), (_data), TIMER_DEFERRABLE) - -#define TIMER_PINNED_DEFERRED_INITIALIZER(_function, _expires, _data) \ - __TIMER_INITIALIZER((_function), (_expires), (_data), TIMER_DEFERRABLE | TIMER_PINNED) - -#define DEFINE_TIMER(_name, _function, _expires, _data) \ - struct timer_list _name = \ - TIMER_INITIALIZER(_function, _expires, _data) - void init_timer_key(struct timer_list *timer, unsigned int flags, const char *name, struct lock_class_key *key);
Signed-off-by: Christoph Hellwig <hch@lst.de> --- include/linux/timer.h | 22 +++------------------- 1 file changed, 3 insertions(+), 19 deletions(-)