dm: Add Kconfig options for driver model SPL support

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>
master
Simon Glass 9 years ago
parent f94a1bed07
commit 91a91ff804
  1. 44
      drivers/core/Kconfig
  2. 6
      include/config_defaults.h

@ -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

@ -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

Loading…
Cancel
Save