diff options
author | Simon Glass <sjg@chromium.org> | 2020-09-12 12:28:47 -0600 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2020-10-10 16:50:11 -0400 |
commit | b45203004ec3f3e5a259e68eddb3eb572d37f56d (patch) | |
tree | b43d3a931abfa4e558aca75872952402f0a8adfb /common | |
parent | 26637e2e4c7235e4fe01b78a9646471c65e28aea (diff) | |
download | u-boot-b45203004ec3f3e5a259e68eddb3eb572d37f56d.zip u-boot-b45203004ec3f3e5a259e68eddb3eb572d37f56d.tar.gz u-boot-b45203004ec3f3e5a259e68eddb3eb572d37f56d.tar.bz2 |
log: Add a flag to enable log drivers
At present there is no way to disable a log driver. But the syslog driver
causes (attempted) network traffic in sandbox every time a log message
is printed, which is often.
Add a flag to enable a log driver. Adjust struct log_device to use a short
for next_filter_num so that no more memory is used for devices. Also fix
a missing line in the struct log_driver comment while here.
To maintain compatibility, enable it for all drivers for now.
Signed-off-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'common')
-rw-r--r-- | common/log.c | 4 | ||||
-rw-r--r-- | common/log_console.c | 1 | ||||
-rw-r--r-- | common/log_syslog.c | 1 |
3 files changed, 5 insertions, 1 deletions
diff --git a/common/log.c b/common/log.c index ac34f1c..d6dfabb 100644 --- a/common/log.c +++ b/common/log.c @@ -207,7 +207,8 @@ static int log_dispatch(struct log_rec *rec) /* Emit message */ processing_msg = 1; list_for_each_entry(ldev, &gd->log_head, sibling_node) { - if (log_passes_filters(ldev, rec)) + if ((ldev->flags & LOGDF_ENABLE) && + log_passes_filters(ldev, rec)) ldev->drv->emit(ldev, rec); } processing_msg = 0; @@ -329,6 +330,7 @@ int log_init(void) } INIT_LIST_HEAD(&ldev->filter_head); ldev->drv = drv; + ldev->flags = drv->flags; list_add_tail(&ldev->sibling_node, (struct list_head *)&gd->log_head); drv++; diff --git a/common/log_console.c b/common/log_console.c index bb3f846..8776fd4 100644 --- a/common/log_console.c +++ b/common/log_console.c @@ -44,4 +44,5 @@ static int log_console_emit(struct log_device *ldev, struct log_rec *rec) LOG_DRIVER(console) = { .name = "console", .emit = log_console_emit, + .flags = LOGDF_ENABLE, }; diff --git a/common/log_syslog.c b/common/log_syslog.c index 2ae703f..8276883 100644 --- a/common/log_syslog.c +++ b/common/log_syslog.c @@ -107,4 +107,5 @@ out: LOG_DRIVER(syslog) = { .name = "syslog", .emit = log_syslog_emit, + .flags = LOGDF_ENABLE, }; |