diff options
Diffstat (limited to 'include/asm-generic/bug.h')
| -rw-r--r-- | include/asm-generic/bug.h | 60 | 
1 files changed, 32 insertions, 28 deletions
diff --git a/include/asm-generic/bug.h b/include/asm-generic/bug.h index 7d10f962aa1..630dd237223 100644 --- a/include/asm-generic/bug.h +++ b/include/asm-generic/bug.h @@ -52,7 +52,7 @@ struct bug_entry {  #endif  #ifndef HAVE_ARCH_BUG_ON -#define BUG_ON(condition) do { if (unlikely(condition)) BUG(); } while(0) +#define BUG_ON(condition) do { if (unlikely(condition)) BUG(); } while (0)  #endif  /* @@ -106,33 +106,6 @@ extern void warn_slowpath_null(const char *file, const int line);  	unlikely(__ret_warn_on);					\  }) -#else /* !CONFIG_BUG */ -#ifndef HAVE_ARCH_BUG -#define BUG() do {} while(0) -#endif - -#ifndef HAVE_ARCH_BUG_ON -#define BUG_ON(condition) do { if (condition) ; } while(0) -#endif - -#ifndef HAVE_ARCH_WARN_ON -#define WARN_ON(condition) ({						\ -	int __ret_warn_on = !!(condition);				\ -	unlikely(__ret_warn_on);					\ -}) -#endif - -#ifndef WARN -#define WARN(condition, format...) ({					\ -	int __ret_warn_on = !!(condition);				\ -	unlikely(__ret_warn_on);					\ -}) -#endif - -#define WARN_TAINT(condition, taint, format...) WARN_ON(condition) - -#endif -  #define WARN_ON_ONCE(condition)	({				\  	static bool __section(.data.unlikely) __warned;		\  	int __ret_warn_once = !!(condition);			\ @@ -163,6 +136,37 @@ extern void warn_slowpath_null(const char *file, const int line);  	unlikely(__ret_warn_once);				\  }) +#else /* !CONFIG_BUG */ +#ifndef HAVE_ARCH_BUG +#define BUG() do {} while (1) +#endif + +#ifndef HAVE_ARCH_BUG_ON +#define BUG_ON(condition) do { if (condition) ; } while (0) +#endif + +#ifndef HAVE_ARCH_WARN_ON +#define WARN_ON(condition) ({						\ +	int __ret_warn_on = !!(condition);				\ +	unlikely(__ret_warn_on);					\ +}) +#endif + +#ifndef WARN +#define WARN(condition, format...) ({					\ +	int __ret_warn_on = !!(condition);				\ +	no_printk(format);						\ +	unlikely(__ret_warn_on);					\ +}) +#endif + +#define WARN_ON_ONCE(condition) WARN_ON(condition) +#define WARN_ONCE(condition, format...) WARN(condition, format) +#define WARN_TAINT(condition, taint, format...) WARN(condition, format) +#define WARN_TAINT_ONCE(condition, taint, format...) WARN(condition, format) + +#endif +  /*   * WARN_ON_SMP() is for cases that the warning is either   * meaningless for !SMP or may even cause failures.  | 
