diff options
author | attilio <attilio@FreeBSD.org> | 2013-03-08 00:03:07 +0000 |
---|---|---|
committer | attilio <attilio@FreeBSD.org> | 2013-03-08 00:03:07 +0000 |
commit | bf1dc904466a6994f1b4cd94d2187edfeca7b187 (patch) | |
tree | 7d66370442268ff1c2639db0446b7970c995c657 /sys/ofed | |
parent | e98f58faf63a90d85e0e2ad78353915f9615a4eb (diff) | |
parent | 281d1157a14218414e773086b47c81754114b42a (diff) | |
download | FreeBSD-src-bf1dc904466a6994f1b4cd94d2187edfeca7b187.zip FreeBSD-src-bf1dc904466a6994f1b4cd94d2187edfeca7b187.tar.gz |
MFC
Diffstat (limited to 'sys/ofed')
-rw-r--r-- | sys/ofed/include/linux/timer.h | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/sys/ofed/include/linux/timer.h b/sys/ofed/include/linux/timer.h index ed4ed4a..a497334 100644 --- a/sys/ofed/include/linux/timer.h +++ b/sys/ofed/include/linux/timer.h @@ -37,11 +37,10 @@ struct timer_list { struct callout timer_callout; void (*function)(unsigned long); - unsigned long data; + unsigned long data; + unsigned long expires; }; -#define expires timer_callout.c_time - static inline void _timer_fn(void *context) { @@ -65,13 +64,16 @@ do { \ callout_init(&(timer)->timer_callout, CALLOUT_MPSAFE); \ } while (0) -#define mod_timer(timer, expire) \ - callout_reset(&(timer)->timer_callout, (expire) - jiffies, \ - _timer_fn, (timer)) +#define mod_timer(timer, exp) \ +do { \ + (timer)->expires = (exp); \ + callout_reset(&(timer)->timer_callout, (exp) - jiffies, \ + _timer_fn, (timer)); \ +} while (0) #define add_timer(timer) \ callout_reset(&(timer)->timer_callout, \ - (timer)->timer_callout.c_time - jiffies, _timer_fn, (timer)) + (timer)->expires - jiffies, _timer_fn, (timer)) #define del_timer(timer) callout_stop(&(timer)->timer_callout) #define del_timer_sync(timer) callout_drain(&(timer)->timer_callout) |