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:
parent
ca9b6ff96e
commit
ae83c4132e
@ -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); \
|
||||
|
Loading…
Reference in New Issue
Block a user