Author: hselasky
Date: Mon Mar  6 12:22:05 2017
New Revision: 314772
URL: https://svnweb.freebsd.org/changeset/base/314772

Log:
  Implement DECLARE_RWSEM() macro in the LinuxKPI to initialize a
  Read-Write semaphore during module init time.
  
  MFC after:            1 week
  Sponsored by:         Mellanox Technologies

Modified:
  head/sys/compat/linuxkpi/common/include/linux/rwsem.h

Modified: head/sys/compat/linuxkpi/common/include/linux/rwsem.h
==============================================================================
--- head/sys/compat/linuxkpi/common/include/linux/rwsem.h       Mon Mar  6 
12:20:56 2017        (r314771)
+++ head/sys/compat/linuxkpi/common/include/linux/rwsem.h       Mon Mar  6 
12:22:05 2017        (r314772)
@@ -35,6 +35,7 @@
 #include <sys/lock.h>
 #include <sys/sx.h>
 #include <sys/libkern.h>
+#include <sys/kernel.h>
 
 struct rw_semaphore {
        struct sx sx;
@@ -61,6 +62,14 @@ struct rw_semaphore {
 #define        _rwsem_name(...)                __rwsem_name(__VA_ARGS__)
 #define        rwsem_name(name)                _rwsem_name(name, __FILE__, 
__LINE__)
 
+#define        DECLARE_RWSEM(name)                                             
\
+struct rw_semaphore name;                                              \
+static void name##_rwsem_init(void *arg)                               \
+{                                                                      \
+       linux_init_rwsem(&name, rwsem_name(#name))                      \
+}                                                                      \
+SYSINIT(name, SI_SUB_LOCKS, SI_ORDER_SECOND, name##_rwsem_init, NULL)
+
 static inline void
 linux_init_rwsem(struct rw_semaphore *rw, const char *name)
 {
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to