Linux Audio

Check our new training course

Loading...
v4.6
 
 1#ifndef _TOOLS_ASM_BUG_H
 2#define _TOOLS_ASM_BUG_H
 3
 4#include <linux/compiler.h>
 5
 6#define __WARN_printf(arg...)	do { fprintf(stderr, arg); } while (0)
 7
 8#define WARN(condition, format...) ({		\
 9	int __ret_warn_on = !!(condition);	\
10	if (unlikely(__ret_warn_on))		\
11		__WARN_printf(format);		\
12	unlikely(__ret_warn_on);		\
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
13})
14
15#define WARN_ONCE(condition, format...)	({	\
16	static int __warned;			\
17	int __ret_warn_once = !!(condition);	\
18						\
19	if (unlikely(__ret_warn_once))		\
20		if (WARN(!__warned, format)) 	\
21			__warned = 1;		\
22	unlikely(__ret_warn_once);		\
23})
24
25#endif /* _TOOLS_ASM_BUG_H */
v4.17
 1/* SPDX-License-Identifier: GPL-2.0 */
 2#ifndef _TOOLS_ASM_BUG_H
 3#define _TOOLS_ASM_BUG_H
 4
 5#include <linux/compiler.h>
 6
 7#define __WARN_printf(arg...)	do { fprintf(stderr, arg); } while (0)
 8
 9#define WARN(condition, format...) ({		\
10	int __ret_warn_on = !!(condition);	\
11	if (unlikely(__ret_warn_on))		\
12		__WARN_printf(format);		\
13	unlikely(__ret_warn_on);		\
14})
15
16#define WARN_ON(condition) ({					\
17	int __ret_warn_on = !!(condition);			\
18	if (unlikely(__ret_warn_on))				\
19		__WARN_printf("assertion failed at %s:%d\n",	\
20				__FILE__, __LINE__);		\
21	unlikely(__ret_warn_on);				\
22})
23
24#define WARN_ON_ONCE(condition) ({			\
25	static int __warned;				\
26	int __ret_warn_once = !!(condition);		\
27							\
28	if (unlikely(__ret_warn_once && !__warned)) {	\
29		__warned = true;			\
30		WARN_ON(1);				\
31	}						\
32	unlikely(__ret_warn_once);			\
33})
34
35#define WARN_ONCE(condition, format...)	({	\
36	static int __warned;			\
37	int __ret_warn_once = !!(condition);	\
38						\
39	if (unlikely(__ret_warn_once))		\
40		if (WARN(!__warned, format)) 	\
41			__warned = 1;		\
42	unlikely(__ret_warn_once);		\
43})
44
45#endif /* _TOOLS_ASM_BUG_H */