diff options
author | Tom Rini <trini@konsulko.com> | 2021-03-15 15:41:14 +0300 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2021-03-15 15:41:14 +0300 |
commit | 1876b390f31afca15de334e499aa071b0bf64a44 (patch) | |
tree | b22356b605c5881781ab4ea88743054558753149 /common/log.c | |
parent | c57ec2c2bab00c02a457ca70624c1333c60c2ec0 (diff) | |
parent | 7f047b4f5b4c86b53dbdd002322dcbf007f80623 (diff) | |
download | u-boot-1876b390f31afca15de334e499aa071b0bf64a44.tar.xz |
Merge branch '2021-03-12-assorted-improvements' into next
- More log enhancements
- A few warning fixes in some cases
- Secure Channel Protocol 03 (SCP03) support for TEEs
Diffstat (limited to 'common/log.c')
-rw-r--r-- | common/log.c | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/common/log.c b/common/log.c index 6b0034c3ba..ea407c6db9 100644 --- a/common/log.c +++ b/common/log.c @@ -153,7 +153,7 @@ static bool log_passes_filters(struct log_device *ldev, struct log_rec *rec) { struct log_filter *filt; - if (rec->force_debug) + if (rec->flags & LOGRECF_FORCE_DEBUG) return true; /* If there are no filters, filter on the default log level */ @@ -218,8 +218,11 @@ static int log_dispatch(struct log_rec *rec, const char *fmt, va_list args) if ((ldev->flags & LOGDF_ENABLE) && log_passes_filters(ldev, rec)) { if (!rec->msg) { - vsnprintf(buf, sizeof(buf), fmt, args); + int len; + + len = vsnprintf(buf, sizeof(buf), fmt, args); rec->msg = buf; + gd->log_cont = len && buf[len - 1] != '\n'; } ldev->drv->emit(ldev, rec); } @@ -245,7 +248,11 @@ int _log(enum log_category_t cat, enum log_level_t level, const char *file, rec.cat = cat; rec.level = level & LOGL_LEVEL_MASK; - rec.force_debug = level & LOGL_FORCE_DEBUG; + rec.flags = 0; + if (level & LOGL_FORCE_DEBUG) + rec.flags |= LOGRECF_FORCE_DEBUG; + if (gd->log_cont) + rec.flags |= LOGRECF_CONT; rec.file = file; rec.line = line; rec.func = func; @@ -255,7 +262,8 @@ int _log(enum log_category_t cat, enum log_level_t level, const char *file, gd->log_drop_count++; /* display dropped traces with console puts and DEBUG_UART */ - if (rec.level <= CONFIG_LOG_DEFAULT_LEVEL || rec.force_debug) { + if (rec.level <= CONFIG_LOG_DEFAULT_LEVEL || + rec.flags & LOGRECF_FORCE_DEBUG) { char buf[CONFIG_SYS_CBSIZE]; va_start(args, fmt); |