svn commit: r335414 - stable/11/sys/compat/linuxkpi/common/include/linux
Hans Petter Selasky
hselasky at FreeBSD.org
Wed Jun 20 06:38:04 UTC 2018
Author: hselasky
Date: Wed Jun 20 06:38:03 2018
New Revision: 335414
URL: https://svnweb.freebsd.org/changeset/base/335414
Log:
MFC r334658:
Implement timer_setup() and from_timer() function macros in the LinuxKPI.
Submitted by: Johannes Lundberg <johalun0 at gmail.com>
Sponsored by: Mellanox Technologies
Sponsored by: Limelight Networks
Modified:
stable/11/sys/compat/linuxkpi/common/include/linux/timer.h
Directory Properties:
stable/11/ (props changed)
Modified: stable/11/sys/compat/linuxkpi/common/include/linux/timer.h
==============================================================================
--- stable/11/sys/compat/linuxkpi/common/include/linux/timer.h Wed Jun 20 06:37:15 2018 (r335413)
+++ stable/11/sys/compat/linuxkpi/common/include/linux/timer.h Wed Jun 20 06:38:03 2018 (r335414)
@@ -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;
};
@@ -47,6 +50,16 @@ struct timer_list {
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); \
More information about the svn-src-stable
mailing list