]> git.sur5r.net Git - u-boot/commitdiff
dm: Add Kconfig options for driver model SPL support
authorSimon Glass <sjg@chromium.org>
Fri, 6 Feb 2015 04:41:36 +0000 (21:41 -0700)
committerSimon Glass <sjg@chromium.org>
Thu, 12 Feb 2015 17:35:33 +0000 (10:35 -0700)
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>
drivers/core/Kconfig
include/config_defaults.h

index dc32385e85492a7ab5a8f56539ed073061257d5d..f0d611007af98921f4ca85cb2f770faf560e74ad 100644 (file)
@@ -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
index 4d493150444f3f8827df51f9593d3ac4ed76aec0..fa9983895736d4573b9c98103e6d86eba767243a 100644 (file)
 #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