aboutsummaryrefslogtreecommitdiff
path: root/common
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2020-09-12 12:28:47 -0600
committerTom Rini <trini@konsulko.com>2020-10-10 16:50:11 -0400
commitb45203004ec3f3e5a259e68eddb3eb572d37f56d (patch)
treeb43d3a931abfa4e558aca75872952402f0a8adfb /common
parent26637e2e4c7235e4fe01b78a9646471c65e28aea (diff)
downloadu-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.c4
-rw-r--r--common/log_console.c1
-rw-r--r--common/log_syslog.c1
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,
};