debug: introduce __WARN()
Olof Johansson [Wed, 30 Jan 2008 12:32:50 +0000 (13:32 +0100)]
Introduce __WARN() in the generic case, so the generic WARN_ON()
can use arch-specific code for when the condition is true.

Signed-off-by: Olof Johansson <olof@lixom.net>
Cc: <linux-arch@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>

include/asm-generic/bug.h

index d56fedb..1a0e1a7 100644 (file)
@@ -31,14 +31,19 @@ struct bug_entry {
 #define BUG_ON(condition) do { if (unlikely(condition)) BUG(); } while(0)
 #endif
 
-#ifndef HAVE_ARCH_WARN_ON
+#ifndef __WARN
+#define __WARN() do {                                                  \
+       printk("WARNING: at %s:%d %s()\n", __FILE__,                    \
+               __LINE__, __FUNCTION__);                                \
+       dump_stack();                                                   \
+} while (0)
+#endif
+
+#ifndef WARN_ON
 #define WARN_ON(condition) ({                                          \
        int __ret_warn_on = !!(condition);                              \
-       if (unlikely(__ret_warn_on)) {                                  \
-               printk("WARNING: at %s:%d %s()\n", __FILE__,            \
-                       __LINE__, __FUNCTION__);                        \
-               dump_stack();                                           \
-       }                                                               \
+       if (unlikely(__ret_warn_on))                                    \
+               __WARN();                                               \
        unlikely(__ret_warn_on);                                        \
 })
 #endif