From mboxrd@z Thu Jan 1 00:00:00 1970 From: Marek Vasut Date: Fri, 11 Dec 2015 16:07:56 +0100 Subject: [U-Boot] [PATCH 1/2] spl: dm: Add SPL_DM_SEQ_ALIAS config option In-Reply-To: <1449845290-31114-2-git-send-email-nathan@nathanrossi.com> References: <1449845290-31114-1-git-send-email-nathan@nathanrossi.com> <1449845290-31114-2-git-send-email-nathan@nathanrossi.com> Message-ID: <201512111607.56816.marex@denx.de> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de On Friday, December 11, 2015 at 03:48:09 PM, Nathan Rossi wrote: > 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 > Cc: Simon Glass > Cc: Masahiro Yamada > Cc: Linus Walleij > Cc: Marek Vasut > Cc: Michal Simek > --- > 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. The fix for SoCFPGA is easy -- enable the SPL_DM_SEQ_ALIAS in configs/socfpga*. It is needed for booting from QSPI NOR. > --- > 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 */