[U-Boot] [PATCH 1/2] spl: dm: Add SPL_DM_SEQ_ALIAS config option

Nathan Rossi nathan at nathanrossi.com
Fri Dec 11 15:48:09 CET 2015


The Device Model sequence alias feature is required by some Uclasses.
Instead of disabling the feature for all SPL targets allow it to be
configured.

The config option is disabled by default to reduce code size for targets
that are not interested or do not require this feature.

Signed-off-by: Nathan Rossi <nathan at nathanrossi.com>
Cc: Simon Glass <sjg at chromium.org>
Cc: Masahiro Yamada <yamada.masahiro at socionext.com>
Cc: Linus Walleij <linus.walleij at linaro.org>
Cc: Marek Vasut <marex at denx.de>
Cc: Michal Simek <michal.simek at xilinx.com>
---
Based on a small amount of inspection for the Zynq platform, enabling
this config option adds ~1KB of code size.

Also on a side note, this might affect the socfpga target as it forcibly
overrides the #undef from config_uncmd_spl.h in its common header. I
have Cc'd the respective maintainer for this reason.
---
 drivers/core/Kconfig       | 9 +++++++++
 drivers/core/device.c      | 2 +-
 include/config_uncmd_spl.h | 1 -
 3 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/drivers/core/Kconfig b/drivers/core/Kconfig
index 53acee0..97aa01e 100644
--- a/drivers/core/Kconfig
+++ b/drivers/core/Kconfig
@@ -60,6 +60,15 @@ config DM_SEQ_ALIAS
 	help
 	  Most boards will have a '/aliases' node containing the path to
 	  numbered devices (e.g. serial0 = &serial0). This feature can be
+	  disabled if it is not required.
+
+config SPL_DM_SEQ_ALIAS
+	bool "Support numbered aliases in device tree in SPL"
+	depends on DM
+	default n
+	help
+	  Most boards will have a '/aliases' node containing the path to
+	  numbered devices (e.g. serial0 = &serial0). This feature can be
 	  disabled if it is not required, to save code space in SPL.
 
 config REGMAP
diff --git a/drivers/core/device.c b/drivers/core/device.c
index 758f390..b237b88 100644
--- a/drivers/core/device.c
+++ b/drivers/core/device.c
@@ -64,7 +64,7 @@ int device_bind(struct udevice *parent, const struct driver *drv,
 
 	dev->seq = -1;
 	dev->req_seq = -1;
-	if (CONFIG_IS_ENABLED(OF_CONTROL) && IS_ENABLED(CONFIG_DM_SEQ_ALIAS)) {
+	if (CONFIG_IS_ENABLED(OF_CONTROL) && CONFIG_IS_ENABLED(DM_SEQ_ALIAS)) {
 		/*
 		* Some devices, such as a SPI bus, I2C bus and serial ports
 		* are numbered using aliases.
diff --git a/include/config_uncmd_spl.h b/include/config_uncmd_spl.h
index 6e299f6..3b198ae 100644
--- a/include/config_uncmd_spl.h
+++ b/include/config_uncmd_spl.h
@@ -29,7 +29,6 @@
 #endif
 
 #undef CONFIG_DM_WARN
-#undef CONFIG_DM_SEQ_ALIAS
 #undef CONFIG_DM_STDIO
 
 #endif /* CONFIG_SPL_BUILD */
-- 
2.6.2



More information about the U-Boot mailing list