From 7e0e9d0d7eaa48d95e48827efb1c08df2c95d855 Mon Sep 17 00:00:00 2001 From: Armin Brauns Date: Wed, 30 Nov 2022 16:00:01 +0100 Subject: [PATCH] logging: allow disabling auto-start of UART backend This allows putting the UART backend on a serial device that has to be quiet unless logging is explicitly enabled at runtime. Signed-off-by: Armin Brauns --- subsys/logging/backends/Kconfig.uart | 8 ++++++++ subsys/logging/backends/log_backend_uart.c | 4 +++- 2 files changed, 11 insertions(+), 1 deletion(-) diff --git a/subsys/logging/backends/Kconfig.uart b/subsys/logging/backends/Kconfig.uart index 45f1596d0bd..5cb89a1ec8f 100644 --- a/subsys/logging/backends/Kconfig.uart +++ b/subsys/logging/backends/Kconfig.uart @@ -24,6 +24,14 @@ config LOG_BACKEND_UART_BUFFER_SIZE Sets the number of bytes which can be buffered in RAM before log_output_flush is automatically called on the backend. +config LOG_BACKEND_UART_AUTOSTART + bool "Automatically start UART backend" + default y + help + When enabled automatically start the UART logging backend on + application start. When disabled, the application needs to start + the backend manually using log_backend_enable(). + backend = UART backend-str = uart source "subsys/logging/Kconfig.template.log_format_config" diff --git a/subsys/logging/backends/log_backend_uart.c b/subsys/logging/backends/log_backend_uart.c index 8f16ad0f815..7bec23ebe57 100644 --- a/subsys/logging/backends/log_backend_uart.c +++ b/subsys/logging/backends/log_backend_uart.c @@ -12,6 +12,7 @@ #include #include #include +#include #include LOG_MODULE_REGISTER(log_uart); @@ -161,4 +162,5 @@ const struct log_backend_api log_backend_uart_api = { .format_set = format_set, }; -LOG_BACKEND_DEFINE(log_backend_uart, log_backend_uart_api, true); +LOG_BACKEND_DEFINE(log_backend_uart, log_backend_uart_api, + IS_ENABLED(CONFIG_LOG_BACKEND_UART_AUTOSTART));