datapath: Make 'struct work_struct' consistent with kernel definition.
[openvswitch] / datapath / linux / compat / include / linux / genetlink.h
index e45d08546ef66186b68dd407a0aa69a2449489de..8b894be38ceadcbdcc0e88f903b252feea36f8a1 100644 (file)
@@ -1,15 +1,23 @@
 #ifndef __GENETLINK_WRAPPER_H
 #define __GENETLINK_WRAPPER_H 1
 
+#include <linux/version.h>
 #include_next <linux/genetlink.h>
 
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,3,0)
 #ifdef CONFIG_PROVE_LOCKING
-/* No version of the kernel has this function, but our locking scheme depends
- * on genl_mutex so for clarity we use it where appropriate. */
 static inline int lockdep_genl_is_held(void)
 {
        return 1;
 }
 #endif
+#endif
+
+#ifndef genl_dereference
+#include <linux/rcupdate.h>
+
+#define genl_dereference(p)                                    \
+       rcu_dereference_protected(p, lockdep_genl_is_held())
+#endif
 
 #endif /* linux/genetlink.h wrapper */