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 <johal...@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);                                     \
_______________________________________________
svn-src-all@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to