nl80211: Fix comment merge error
[deliverable/linux.git] / include / asm-generic / bug.h
CommitLineData
1da177e4
LT
1#ifndef _ASM_GENERIC_BUG_H
2#define _ASM_GENERIC_BUG_H
3
4#include <linux/compiler.h>
1da177e4 5
c8538a7a 6#ifdef CONFIG_BUG
7664c5a1
JF
7
8#ifdef CONFIG_GENERIC_BUG
9#ifndef __ASSEMBLY__
10struct bug_entry {
11 unsigned long bug_addr;
12#ifdef CONFIG_DEBUG_BUGVERBOSE
13 const char *file;
14 unsigned short line;
15#endif
16 unsigned short flags;
17};
18#endif /* __ASSEMBLY__ */
19
20#define BUGFLAG_WARNING (1<<0)
21#endif /* CONFIG_GENERIC_BUG */
22
1da177e4
LT
23#ifndef HAVE_ARCH_BUG
24#define BUG() do { \
91368d73 25 printk("BUG: failure at %s:%d/%s()!\n", __FILE__, __LINE__, __FUNCTION__); \
1da177e4
LT
26 panic("BUG!"); \
27} while (0)
28#endif
29
1da177e4 30#ifndef HAVE_ARCH_BUG_ON
2a41de48 31#define BUG_ON(condition) do { if (unlikely(condition)) BUG(); } while(0)
1da177e4
LT
32#endif
33
3a6a62f9 34#ifndef __WARN
79b4cc5e
AV
35#ifndef __ASSEMBLY__
36extern void warn_on_slowpath(const char *file, const int line);
37#define WANT_WARN_ON_SLOWPATH
38#endif
39#define __WARN() warn_on_slowpath(__FILE__, __LINE__)
3a6a62f9
OJ
40#endif
41
42#ifndef WARN_ON
684f9783 43#define WARN_ON(condition) ({ \
8d4fbcfb 44 int __ret_warn_on = !!(condition); \
3a6a62f9
OJ
45 if (unlikely(__ret_warn_on)) \
46 __WARN(); \
684f9783
HX
47 unlikely(__ret_warn_on); \
48})
1da177e4
LT
49#endif
50
c8538a7a
MM
51#else /* !CONFIG_BUG */
52#ifndef HAVE_ARCH_BUG
53#define BUG()
54#endif
55
c8538a7a
MM
56#ifndef HAVE_ARCH_BUG_ON
57#define BUG_ON(condition) do { if (condition) ; } while(0)
58#endif
59
60#ifndef HAVE_ARCH_WARN_ON
8c7c7c9b 61#define WARN_ON(condition) ({ \
8d4fbcfb 62 int __ret_warn_on = !!(condition); \
8c7c7c9b
RB
63 unlikely(__ret_warn_on); \
64})
c8538a7a
MM
65#endif
66#endif
67
d69a8922
AM
68#define WARN_ON_ONCE(condition) ({ \
69 static int __warned; \
8d4fbcfb 70 int __ret_warn_once = !!(condition); \
d69a8922
AM
71 \
72 if (unlikely(__ret_warn_once)) \
73 if (WARN_ON(!__warned)) \
74 __warned = 1; \
75 unlikely(__ret_warn_once); \
74bb6a09
IM
76})
77
8eb94f80
IM
78#ifdef CONFIG_SMP
79# define WARN_ON_SMP(x) WARN_ON(x)
80#else
81# define WARN_ON_SMP(x) do { } while (0)
82#endif
83
1da177e4 84#endif
This page took 0.360394 seconds and 5 git commands to generate.