Date: Wed, 20 Jun 2018 06:38:04 +0000 (UTC) From: Hans Petter Selasky <hselasky@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org Subject: svn commit: r335414 - stable/11/sys/compat/linuxkpi/common/include/linux Message-ID: <201806200638.w5K6c4hn020792@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
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@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); \
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201806200638.w5K6c4hn020792>