]> git.sur5r.net Git - u-boot/blob - include/linux/bug.h
efi_loader: avoid using unitialized values as console size
[u-boot] / include / linux / bug.h
1 #ifndef _LINUX_BUG_H
2 #define _LINUX_BUG_H
3
4 #include <vsprintf.h> /* for panic() */
5 #include <linux/build_bug.h>
6 #include <linux/compiler.h>
7 #include <linux/printk.h>
8
9 #define BUG() do { \
10         printk("BUG at %s:%d/%s()!\n", __FILE__, __LINE__, __func__); \
11         panic("BUG!"); \
12 } while (0)
13
14 #define BUG_ON(condition) do { if (unlikely(condition)) BUG(); } while (0)
15
16 #define WARN_ON(condition) ({                                           \
17         int __ret_warn_on = !!(condition);                              \
18         if (unlikely(__ret_warn_on))                                    \
19                 printk("WARNING at %s:%d/%s()!\n", __FILE__, __LINE__, __func__); \
20         unlikely(__ret_warn_on);                                        \
21 })
22
23 #define WARN_ON_ONCE(condition) ({                              \
24         static bool __warned;                                   \
25         int __ret_warn_once = !!(condition);                    \
26                                                                 \
27         if (unlikely(__ret_warn_once && !__warned)) {           \
28                 __warned = true;                                \
29                 WARN_ON(1);                                     \
30         }                                                       \
31         unlikely(__ret_warn_once);                              \
32 })
33
34 #endif  /* _LINUX_BUG_H */