[U-Boot] [PATCH v2 05/19] dm: Add Kconfig options for driver model SPL support
Simon Glass
sjg at chromium.org
Fri Feb 6 05:41:36 CET 2015
The SPL support cannot be enabled yet, but we can add the Kconfig
options in preparation for this.
Signed-off-by: Simon Glass <sjg at chromium.org>
---
Changes in v2:
- Drop SPL-specific #ifdef in config_defaults.h since Kconfig will do this
- Split out patch to add Kconfig options for driver model SPL support
drivers/core/Kconfig | 44 ++++++++++++++++++++++++++++++++++++++++++++
include/config_defaults.h | 6 ++++++
2 files changed, 50 insertions(+)
diff --git a/drivers/core/Kconfig b/drivers/core/Kconfig
index dc32385..f0d6110 100644
--- a/drivers/core/Kconfig
+++ b/drivers/core/Kconfig
@@ -6,3 +6,47 @@ config DM
support, including scanning of platform data on start-up. If
CONFIG_OF_CONTROL is enabled, the device tree will be scanned also
when available.
+
+config SPL_DM
+ bool "Enable Driver Model for SPL"
+ depends on DM && SPL
+ help
+ Enable driver model in SPL. You will need to provide a
+ suitable malloc() implementation. If you are not using the
+ full malloc() enabled by CONFIG_SYS_SPL_MALLOC_START,
+ consider using CONFIG_SYS_MALLOC_SIMPLE. In that case you
+ must provide CONFIG_SYS_MALLOC_F_LEN to set the size.
+ In most cases driver model will only allocate a few uclasses
+ and devices in SPL, so 1KB should be enable. See
+ CONFIG_SYS_MALLOC_F_LEN for more details on how to enable it.
+
+config DM_WARN
+ bool "Enable warnings in driver model"
+ help
+ 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.
+ depends on DM
+ default y if !SPL_BUILD
+ default n if SPL_BUILD
+
+config DM_DEVICE_REMOVE
+ bool "Support device removal"
+ help
+ We can save some code space by dropping support for removing a
+ device. This is not normally required in SPL, so by default this
+ option is disabled for SPL.
+ depends on DM
+ default y if !SPL_BUILD
+ default n if SPL_BUILD
+
+config DM_STDIO
+ bool "Support stdio registration"
+ help
+ Normally serial drivers register with stdio so that they can be used
+ as normal output devices. In SPL we don't normally use stdio, so
+ we can omit this feature.
+ depends on DM
+ default y if !SPL_BUILD
+ default n if SPL_BUILD
diff --git a/include/config_defaults.h b/include/config_defaults.h
index 4d49315..fa99838 100644
--- a/include/config_defaults.h
+++ b/include/config_defaults.h
@@ -21,9 +21,15 @@
#define CONFIG_PARTITIONS 1
#ifndef CONFIG_SPL_BUILD
+#ifndef CONFIG_DM_WARN
#define CONFIG_DM_WARN
+#endif
+#ifndef CONFIG_DM_DEVICE_REMOVE
#define CONFIG_DM_DEVICE_REMOVE
+#endif
+#ifndef CONFIG_DM_STDIO
#define CONFIG_DM_STDIO
#endif
+#endif
#endif
--
2.2.0.rc0.207.ga3a616c
More information about the U-Boot
mailing list