diff options
author | Simon Glass <sjg@chromium.org> | 2018-11-15 18:43:49 -0700 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2018-11-26 08:25:32 -0500 |
commit | 4d8d3056f885b518c0d1d0b5a793d9bf4b579496 (patch) | |
tree | 538a76ff30da67b8fc6ae0a27e6392f9e732e39c /include | |
parent | 734e207c5e3ced07f4077ad46460d52912374f2a (diff) | |
download | u-boot-4d8d3056f885b518c0d1d0b5a793d9bf4b579496.zip u-boot-4d8d3056f885b518c0d1d0b5a793d9bf4b579496.tar.gz u-boot-4d8d3056f885b518c0d1d0b5a793d9bf4b579496.tar.bz2 |
spl: Add support for logging in SPL and TPL
It is sometimes useful to log information in SPL and TPL. Add support for
this.
Reviewed-by: Tom Rini <trini@konsulko.com>
Signed-off-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'include')
-rw-r--r-- | include/log.h | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/include/log.h b/include/log.h index deab829..bf2848c 100644 --- a/include/log.h +++ b/include/log.h @@ -108,6 +108,8 @@ int _log(enum log_category_t cat, enum log_level_t level, const char *file, #define log_io(_fmt...) #endif +#if CONFIG_IS_ENABLED(LOG) + /* Emit a log record if the level is less that the maximum */ #define log(_cat, _level, _fmt, _args...) ({ \ int _l = _level; \ @@ -116,6 +118,9 @@ int _log(enum log_category_t cat, enum log_level_t level, const char *file, __func__, \ pr_fmt(_fmt), ##_args); \ }) +#else +#define log(_cat, _level, _fmt, _args...) +#endif #ifdef DEBUG #define _DEBUG 1 @@ -175,7 +180,16 @@ void __assert_fail(const char *assertion, const char *file, unsigned int line, ({ if (!(x) && _DEBUG) \ __assert_fail(#x, __FILE__, __LINE__, __func__); }) -#ifdef CONFIG_LOG_ERROR_RETURN +#if CONFIG_IS_ENABLED(LOG) && defined(CONFIG_LOG_ERROR_RETURN) +/* + * Log an error return value, possibly with a message. Usage: + * + * return log_ret(fred_call()); + * + * or: + * + * return log_msg_ret("fred failed", fred_call()); + */ #define log_ret(_ret) ({ \ int __ret = (_ret); \ if (__ret < 0) \ @@ -190,8 +204,9 @@ void __assert_fail(const char *assertion, const char *file, unsigned int line, __ret; \ }) #else +/* Non-logging versions of the above which just return the error code */ #define log_ret(_ret) (_ret) -#define log_msg_ret(_msg, _ret) (_ret) +#define log_msg_ret(_msg, _ret) ((void)(_msg), _ret) #endif /** |