aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2017-04-02 09:50:31 -0600
committerTom Rini <trini@konsulko.com>2017-04-05 16:36:58 -0400
commit5a6f06f696c9c4cf84666ac12b3b3bc3f6fcd93d (patch)
treebdd23ca7f3a9da8a6dc9270d6a4f4dc52f3007ba
parent001f3142c30c35493c57268bd49a4f87f8da9f0d (diff)
downloadu-boot-5a6f06f696c9c4cf84666ac12b3b3bc3f6fcd93d.zip
u-boot-5a6f06f696c9c4cf84666ac12b3b3bc3f6fcd93d.tar.gz
u-boot-5a6f06f696c9c4cf84666ac12b3b3bc3f6fcd93d.tar.bz2
dm: core: Allow driver model to be disabled for TPL
Since TPL often needs to be very very small it may not make sense to enable driver model. Add an option for this. This changes brings the 'rock' board under the TPL limit with gcc 4.9. Signed-off-by: Simon Glass <sjg@chromium.org>
-rw-r--r--drivers/Makefile2
-rw-r--r--drivers/core/Kconfig14
2 files changed, 15 insertions, 1 deletions
diff --git a/drivers/Makefile b/drivers/Makefile
index 34c55bf..5d8baa5 100644
--- a/drivers/Makefile
+++ b/drivers/Makefile
@@ -2,7 +2,7 @@
# SPDX-License-Identifier: GPL-2.0+
#
-obj-$(CONFIG_$(SPL_)DM) += core/
+obj-$(CONFIG_$(SPL_TPL_)DM) += core/
obj-$(CONFIG_$(SPL_)CLK) += clk/
obj-$(CONFIG_$(SPL_)LED) += led/
obj-$(CONFIG_$(SPL_)PINCTRL) += pinctrl/
diff --git a/drivers/core/Kconfig b/drivers/core/Kconfig
index 8749561..405e9ad 100644
--- a/drivers/core/Kconfig
+++ b/drivers/core/Kconfig
@@ -21,6 +21,20 @@ config SPL_DM
and devices in SPL, so 1KB should be enable. See
CONFIG_SYS_MALLOC_F_LEN for more details on how to enable it.
+config TPL_DM
+ bool "Enable Driver Model for TPL"
+ depends on DM && TPL
+ help
+ Enable driver model in TPL. 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 enough. See
+ CONFIG_SYS_MALLOC_F_LEN for more details on how to enable it.
+ Disable this for very small implementations.
+
config DM_WARN
bool "Enable warnings in driver model"
depends on DM