summaryrefslogtreecommitdiffstats
path: root/tools/include
diff options
context:
space:
mode:
authorNamhyung Kim <namhyung@kernel.org>2014-01-09 15:00:54 +0100
committerArnaldo Carvalho de Melo <acme@redhat.com>2014-01-13 14:06:26 +0100
commit02dfc8d775f0709ab494d4b2cce12c8429ff7530 (patch)
tree51de67a47ce9fc12b98eb06b956f36a28df757a1 /tools/include
parenttools include: Define likely/unlikely in linux/compiler.h (diff)
downloadlinux-02dfc8d775f0709ab494d4b2cce12c8429ff7530.tar.xz
linux-02dfc8d775f0709ab494d4b2cce12c8429ff7530.zip
tools include: Move perf's bug.h to a generic place
So that it can be shared with others like libtraceevent. Signed-off-by: Namhyung Kim <namhyung@kernel.org> Cc: Frederic Weisbecker <fweisbec@gmail.com> Cc: Ingo Molnar <mingo@kernel.org> Cc: Jiri Olsa <jolsa@redhat.com> Cc: Namhyung Kim <namhyung.kim@lge.com> Cc: Steven Rostedt <rostedt@goodmis.org> Link: http://lkml.kernel.org/r/1389276059-8829-4-git-send-email-namhyung@kernel.org [ Added the new header to tools/perf/MANIFEST ] Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
Diffstat (limited to 'tools/include')
-rw-r--r--tools/include/asm/bug.h23
1 files changed, 23 insertions, 0 deletions
diff --git a/tools/include/asm/bug.h b/tools/include/asm/bug.h
new file mode 100644
index 000000000000..eca78df7b8f2
--- /dev/null
+++ b/tools/include/asm/bug.h
@@ -0,0 +1,23 @@
+#ifndef _TOOLS_ASM_BUG_H
+#define _TOOLS_ASM_BUG_H
+
+#define __WARN_printf(arg...) do { fprintf(stderr, arg); } while (0)
+
+#define WARN(condition, format...) ({ \
+ int __ret_warn_on = !!(condition); \
+ if (unlikely(__ret_warn_on)) \
+ __WARN_printf(format); \
+ unlikely(__ret_warn_on); \
+})
+
+#define WARN_ONCE(condition, format...) ({ \
+ static int __warned; \
+ int __ret_warn_once = !!(condition); \
+ \
+ if (unlikely(__ret_warn_once)) \
+ if (WARN(!__warned, format)) \
+ __warned = 1; \
+ unlikely(__ret_warn_once); \
+})
+
+#endif /* _TOOLS_ASM_BUG_H */