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 <nat...@nathanrossi.com>
> Cc: Simon Glass <s...@chromium.org>
> Cc: Masahiro Yamada <yamada.masah...@socionext.com>
> Cc: Linus Walleij <linus.wall...@linaro.org>
> Cc: Marek Vasut <ma...@denx.de>
> Cc: Michal Simek <michal.si...@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.

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 */
_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to