debug: introduce __WARN()
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>
This commit is contained in:
Родитель
f315decbd0
Коммит
3a6a62f96f
|
@ -31,14 +31,19 @@ struct bug_entry {
|
||||||
#define BUG_ON(condition) do { if (unlikely(condition)) BUG(); } while(0)
|
#define BUG_ON(condition) do { if (unlikely(condition)) BUG(); } while(0)
|
||||||
#endif
|
#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) ({ \
|
#define WARN_ON(condition) ({ \
|
||||||
int __ret_warn_on = !!(condition); \
|
int __ret_warn_on = !!(condition); \
|
||||||
if (unlikely(__ret_warn_on)) { \
|
if (unlikely(__ret_warn_on)) \
|
||||||
printk("WARNING: at %s:%d %s()\n", __FILE__, \
|
__WARN(); \
|
||||||
__LINE__, __FUNCTION__); \
|
|
||||||
dump_stack(); \
|
|
||||||
} \
|
|
||||||
unlikely(__ret_warn_on); \
|
unlikely(__ret_warn_on); \
|
||||||
})
|
})
|
||||||
#endif
|
#endif
|
||||||
|
|
Загрузка…
Ссылка в новой задаче