
On 18 August 2014 01:16, Thierry Reding thierry.reding@gmail.com wrote:
From: Thierry Reding treding@nvidia.com
This macro can be overridden in source files (before including common.h) and can be used to specify a prefix for debug and error messages. An example of how to use this is shown below:
#define pr_fmt(fmt) "foo: " fmt #include <common.h> ... debug("bar");
The resulting message will read:
foo: bar
Signed-off-by: Thierry Reding treding@nvidia.com
Acked-by: Simon Glass sjg@chromium.org
Seems OK. But I wonder if a string might be simpler?
#define DEBUG_PREFIX "foo: "
+#ifndef DEBUG_PREFIX +#define DEBUG_PREFIX "" +#endif
... printf(DEBUG_PREFIX ##args); \
include/common.h | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-)
diff --git a/include/common.h b/include/common.h index 1d6cb48ff078..65db04b452d7 100644 --- a/include/common.h +++ b/include/common.h @@ -99,15 +99,19 @@ typedef volatile unsigned char vu_char; #define _DEBUG 0 #endif
+#ifndef pr_fmt +#define pr_fmt(fmt) fmt +#endif
/*
- Output a debug text when condition "cond" is met. The "cond" should be
- computed by a preprocessor in the best case, allowing for the best
- optimization.
*/ -#define debug_cond(cond, fmt, args...) \
do { \
if (cond) \
printf(fmt, ##args); \
+#define debug_cond(cond, fmt, args...) \
do { \
if (cond) \
printf(pr_fmt(fmt), ##args); \ } while (0)
#define debug(fmt, args...) \ @@ -129,7 +133,7 @@ void __assert_fail(const char *assertion, const char *file, unsigned line, __assert_fail(#x, __FILE__, __LINE__, __func__); })
#define error(fmt, args...) do { \
printf("ERROR: " fmt "\nat %s:%d/%s()\n", \
printf("ERROR: " pr_fmt(fmt) "\nat %s:%d/%s()\n", \ ##args, __FILE__, __LINE__, __func__); \
} while (0)
-- 2.0.4
Regards, Simon