diff mbox

[U-Boot,v2,05/19] dm: Add Kconfig options for driver model SPL support

Message ID 1423197710-1568-6-git-send-email-sjg@chromium.org
State Accepted
Delegated to: Simon Glass
Headers show

Commit Message

Simon Glass Feb. 6, 2015, 4:41 a.m. UTC
The SPL support cannot be enabled yet, but we can add the Kconfig
options in preparation for this.

Signed-off-by: Simon Glass <sjg@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(+)

Comments

Simon Glass Feb. 11, 2015, 7:45 p.m. UTC | #1
On 5 February 2015 at 21:41, Simon Glass <sjg@chromium.org> wrote:
> The SPL support cannot be enabled yet, but we can add the Kconfig
> options in preparation for this.
>
> Signed-off-by: Simon Glass <sjg@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(+)

Applied to u-boot-dm.
diff mbox

Patch

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