diff options
author | Simon Glass <sjg@chromium.org> | 2017-12-04 23:48:25 +0300 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2017-12-07 23:17:00 +0300 |
commit | c6d47535dfb6636ae5244958a2a9e043bb7646ae (patch) | |
tree | f3dc95306afb0214b4ac62b0ad6deef3882cc946 /common | |
parent | e9c8d49d54cbbc7b219a1637d2994de7448b767d (diff) | |
download | u-boot-c6d47535dfb6636ae5244958a2a9e043bb7646ae.tar.xz |
log: Add a console driver
It is useful to display log messages on the console. Add a simple driver
to handle this.
Note that this driver outputs to the console, which may be serial or
video. It does not specifically select serial output.
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Diffstat (limited to 'common')
-rw-r--r-- | common/Kconfig | 20 | ||||
-rw-r--r-- | common/Makefile | 1 | ||||
-rw-r--r-- | common/log_console.c | 23 |
3 files changed, 44 insertions, 0 deletions
diff --git a/common/Kconfig b/common/Kconfig index 9747443feb..1b157e47c3 100644 --- a/common/Kconfig +++ b/common/Kconfig @@ -474,6 +474,26 @@ config SPL_LOG_MAX_LEVEL 6 - detail 7 - debug +config LOG_CONSOLE + bool "Allow log output to the console" + depends on LOG + default y + help + Enables a log driver which writes log records to the console. + Generally the console is the serial port or LCD display. Only the + log message is shown - other details like level, category, file and + line number are omitted. + +config LOG_SPL_CONSOLE + bool "Allow log output to the console in SPL" + depends on LOG_SPL + default y + help + Enables a log driver which writes log records to the console. + Generally the console is the serial port or LCD display. Only the + log message is shown - other details like level, category, file and + line number are omitted. + endmenu config DEFAULT_FDT_FILE diff --git a/common/Makefile b/common/Makefile index f4b632761f..14166209fe 100644 --- a/common/Makefile +++ b/common/Makefile @@ -129,5 +129,6 @@ obj-$(CONFIG_FSL_DDR_INTERACTIVE) += cli_simple.o cli_readline.o obj-$(CONFIG_CMD_DFU) += dfu.o obj-y += command.o obj-$(CONFIG_$(SPL_)LOG) += log.o +obj-$(CONFIG_$(SPL_)LOG_CONSOLE) += log_console.o obj-y += s_record.o obj-y += xyzModem.o diff --git a/common/log_console.c b/common/log_console.c new file mode 100644 index 0000000000..5af73bd8be --- /dev/null +++ b/common/log_console.c @@ -0,0 +1,23 @@ +/* + * Logging support + * + * Copyright (c) 2017 Google, Inc + * Written by Simon Glass <sjg@chromium.org> + * + * SPDX-License-Identifier: GPL-2.0+ + */ + +#include <common.h> +#include <log.h> + +static int log_console_emit(struct log_device *ldev, struct log_rec *rec) +{ + puts(rec->msg); + + return 0; +} + +LOG_DRIVER(console) = { + .name = "console", + .emit = log_console_emit, +}; |