summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2020-10-03 20:31:26 +0300
committerSimon Glass <sjg@chromium.org>2020-10-29 23:42:17 +0300
commitabb9cd30b23858125ce015c1dffdae4d7895bae8 (patch)
treedfc71c65c860718f1654e3c67e3fa575a31e099b
parent1b27273e090590e7944a3f7a3b33ac9f90aae765 (diff)
downloadu-boot-abb9cd30b23858125ce015c1dffdae4d7895bae8.tar.xz
dm: core: Allow dm_warn() to be used in SPL
At present this option is disabled in SPL, meaning that warnings are not displayed. It is sometimes useful to see warnings in SPL for debugging purposes. Add a new Kconfig option to permit this. Signed-off-by: Simon Glass <sjg@chromium.org>
-rw-r--r--drivers/core/Kconfig18
-rw-r--r--drivers/core/util.c2
-rw-r--r--include/config_uncmd_spl.h1
-rw-r--r--include/dm/util.h2
4 files changed, 18 insertions, 5 deletions
diff --git a/drivers/core/Kconfig b/drivers/core/Kconfig
index 07d3a6a7a4..ffae6f9795 100644
--- a/drivers/core/Kconfig
+++ b/drivers/core/Kconfig
@@ -40,10 +40,24 @@ config DM_WARN
depends on DM
default y
help
+ Enable this to see warnings related to driver model.
+
+ Warnings may help with debugging, such as when expected devices do
+ not bind correctly. If the option is disabled, dm_warn() is compiled
+ out - it will do nothing when called.
+
+config SPL_DM_WARN
+ bool "Enable warnings in driver model wuth SPL"
+ depends on SPL_DM
+ help
+ Enable this to see warnings related to driver model in SPL
+
The dm_warn() function can use up quite a bit of space for its
strings. By default this is disabled for SPL builds to save space.
- This will cause dm_warn() to be compiled out - it will do nothing
- when called.
+
+ Warnings may help with debugging, such as when expected devices do
+ not bind correctly. If the option is disabled, dm_warn() is compiled
+ out - it will do nothing when called.
config DM_DEBUG
bool "Enable debug messages in driver model core"
diff --git a/drivers/core/util.c b/drivers/core/util.c
index 25b0d76f43..91e93b0cf1 100644
--- a/drivers/core/util.c
+++ b/drivers/core/util.c
@@ -11,7 +11,7 @@
#include <linux/libfdt.h>
#include <vsprintf.h>
-#ifdef CONFIG_DM_WARN
+#if CONFIG_IS_ENABLED(DM_WARN)
void dm_warn(const char *fmt, ...)
{
va_list args;
diff --git a/include/config_uncmd_spl.h b/include/config_uncmd_spl.h
index 31da6215b3..af7e3e49fd 100644
--- a/include/config_uncmd_spl.h
+++ b/include/config_uncmd_spl.h
@@ -16,7 +16,6 @@
#undef CONFIG_DM_SPI
#endif
-#undef CONFIG_DM_WARN
#undef CONFIG_DM_STDIO
#endif /* CONFIG_SPL_BUILD */
diff --git a/include/dm/util.h b/include/dm/util.h
index 9773db6de1..01a044992f 100644
--- a/include/dm/util.h
+++ b/include/dm/util.h
@@ -6,7 +6,7 @@
#ifndef __DM_UTIL_H
#define __DM_UTIL_H
-#ifdef CONFIG_DM_WARN
+#if CONFIG_IS_ENABLED(DM_WARN)
void dm_warn(const char *fmt, ...);
#else
static inline void dm_warn(const char *fmt, ...)