datapath: Fix sparse warning for symbol 'BUILD_BUG_ON_NOT_POWER_OF_2'
authorPravin B Shelar <pshelar@nicira.com>
Mon, 5 Nov 2012 21:41:02 +0000 (13:41 -0800)
committerPravin B Shelar <pshelar@nicira.com>
Mon, 5 Nov 2012 21:41:02 +0000 (13:41 -0800)
BUILD_BUG_ON_NOT_POWER_OF_2 symbol is moved from kernel.h to
bug.h in 3.4.  Therefore sparse is giving warning:

include/linux/bug.h:15:9: warning: preprocessor token
BUILD_BUG_ON_NOT_POWER_OF_2 redefined
ovs/datapath/linux/compat/include/linux/kernel.h:44:9:
this was the original definition

Signed-off-by: Pravin B Shelar <pshelar@nicira.com>
Acked-by: Jesse Gross <jesse@nicira.com>
datapath/linux/Modules.mk
datapath/linux/compat/include/linux/kernel.h

index 8ce61157983ceaf877df1878c5e883214babc9cc..14d23a4afc1b45f02e16053853b6a420126e0b2c 100644 (file)
@@ -13,6 +13,7 @@ openvswitch_sources += \
        linux/compat/time.c     \
        linux/compat/workqueue.c
 openvswitch_headers += \
+       linux/compat/include/linux/bug.h \
        linux/compat/include/linux/compiler.h \
        linux/compat/include/linux/compiler-gcc.h \
        linux/compat/include/linux/cpumask.h \
index 812f2132978e892eca744dea926cbe1bbb55e7a0..069839bdbe3e4041caa99a98eaa96394d88329a0 100644 (file)
@@ -7,7 +7,11 @@
 #endif
 
 #include <linux/version.h>
+#if LINUX_VERSION_CODE < KERNEL_VERSION(3,4,0)
+/* BUILD_BUG_ON_NOT_POWER_OF_2 definition */
 #include <linux/bug.h>
+#endif
+
 #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,28)
 #undef pr_emerg
 #define pr_emerg(fmt, ...) \
 #define pr_warn pr_warning
 #endif
 
-#ifndef BUILD_BUG_ON_NOT_POWER_OF_2
-/* Force a compilation error if a constant expression is not a power of 2 */
-#define BUILD_BUG_ON_NOT_POWER_OF_2(n)                 \
-       BUILD_BUG_ON((n) == 0 || (((n) & ((n) - 1)) != 0))
-#endif
-
 #if defined(CONFIG_PREEMPT) && LINUX_VERSION_CODE < KERNEL_VERSION(2,6,21)
 #error "CONFIG_PREEMPT is broken before 2.6.21--see commit 4498121ca3, \"[NET]: Handle disabled preemption in gfp_any()\""
 #endif