diff options
author | Masahiro Yamada <yamada.m@jp.panasonic.com> | 2015-01-29 11:14:06 +0900 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2015-01-29 08:48:30 +0100 |
commit | 8960b0ff81875d569bfd58d185076dd6265ba42b (patch) | |
tree | e3d0a666cd90a806c16413985a8a54060c24758f /include/asm-generic | |
parent | a07a472cac72d336574c438358bbf3c113b16fb5 (diff) | |
download | barebox-8960b0ff81875d569bfd58d185076dd6265ba42b.tar.gz barebox-8960b0ff81875d569bfd58d185076dd6265ba42b.tar.xz |
asm-generic/bug.h: move BUG(), BUG_ON(), WARN(), WARN_ON() macros
In Linux, these macros are defined in include/asm-generic/bug.h.
To tidy up common.h, move BUG(), BUG_ON(), WARN(), WARN_ON() there.
Signed-off-by: Masahiro Yamada <yamada.m@jp.panasonic.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'include/asm-generic')
-rw-r--r-- | include/asm-generic/bug.h | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/include/asm-generic/bug.h b/include/asm-generic/bug.h new file mode 100644 index 0000000000..8583d2425f --- /dev/null +++ b/include/asm-generic/bug.h @@ -0,0 +1,37 @@ +#ifndef _ASM_GENERIC_BUG_H +#define _ASM_GENERIC_BUG_H + +#include <linux/compiler.h> + +#define BUG() do { \ + printf("BUG: failure at %s:%d/%s()!\n", __FILE__, __LINE__, __FUNCTION__); \ + panic("BUG!"); \ +} while (0) +#define BUG_ON(condition) do { if (unlikely((condition)!=0)) BUG(); } while(0) + + +#define __WARN() do { \ + printf("WARNING: at %s:%d/%s()!\n", __FILE__, __LINE__, __FUNCTION__); \ +} while (0) + +#ifndef WARN_ON +#define WARN_ON(condition) ({ \ + int __ret_warn_on = !!(condition); \ + if (unlikely(__ret_warn_on)) \ + __WARN(); \ + unlikely(__ret_warn_on); \ +}) +#endif + +#ifndef WARN +#define WARN(condition, format...) ({ \ + int __ret_warn_on = !!(condition); \ + if (unlikely(__ret_warn_on)) { \ + __WARN(); \ + puts("WARNING: "); \ + printf(format); \ + } \ + unlikely(__ret_warn_on); \ +}) +#endif +#endif |