Implement timer_setup() and from_timer() function macros in the LinuxKPI.

Submitted by:	Johannes Lundberg <johalun0@gmail.com>
MFC after:	1 week
Sponsored by:	Mellanox Technologies
Sponsored by:	Limelight Networks
This commit is contained in:
Hans Petter Selasky 2018-06-05 15:20:20 +00:00
parent ca21db8546
commit f446b7cab4
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=334658

View File

@ -39,7 +39,10 @@
struct timer_list {
struct callout callout;
void (*function) (unsigned long);
union {
void (*function) (unsigned long); /* < v4.15 */
void (*function_415) (struct timer_list *);
};
unsigned long data;
int expires;
};
@ -48,6 +51,16 @@ extern unsigned long linux_timer_hz_mask;
#define TIMER_IRQSAFE 0x0001
#define from_timer(var, arg, field) \
container_of(arg, typeof(*(var)), field)
#define timer_setup(timer, func, flags) do { \
CTASSERT(((flags) & ~TIMER_IRQSAFE) == 0); \
(timer)->function_415 = (func); \
(timer)->data = (unsigned long)(timer); \
callout_init(&(timer)->callout, 1); \
} while (0)
#define setup_timer(timer, func, dat) do { \
(timer)->function = (func); \
(timer)->data = (dat); \