
On Mon, 20 Nov 2017 15:33:29 -0700 Simon Glass sjg@chromium.org wrote:
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.
Reviewed-by: Lukasz Majewski lukma@denx.de
Signed-off-by: Simon Glass sjg@chromium.org Reviewed-by: Bin Meng bmeng.cn@gmail.com
Changes in v3: None Changes in v2:
- Update commit message to explain that this is not just for serial
output
common/Kconfig | 20 ++++++++++++++++++++ common/Makefile | 1 + common/log_console.c | 23 +++++++++++++++++++++++ 3 files changed, 44 insertions(+) create mode 100644 common/log_console.c
diff --git a/common/Kconfig b/common/Kconfig index 9747443feb2..1b157e47c3d 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 f4b632761fa..14166209fe4 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 00000000000..5af73bd8be4 --- /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,
+};
Best regards,
Lukasz Majewski
--
DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd@denx.de