[U-Boot] [PATCH v2] spl: unbreak CONFIG_SPL_MULTI_DTB_FIT after fixing CONFIG_OF_EMBED

Lokesh Vutla lokeshvutla at ti.com
Tue Feb 13 08:40:40 UTC 2018



On Tuesday 13 February 2018 12:26 PM, Simon Goldschmidt wrote:
> With commit 9bd76b807636 ("spl: make CONFIG_OF_EMBED pass dts through
> fdtgrep"), CONFIG_SPL_MULTI_DTB_FIT has been broken because
> cmd_fdtgrep was now unknown in scripts/Makefile.spl after moving
> it to dts/Makefile. This bug has been introduced with v2018.01.
> 
> This patch moves cmd_fdtgrep from dts/Makefile to scripts/Makefile.lib
> and includes scripts/Makefile.lib in scripts/Makefile.spl.
> 
> Fixes: 9bd76b807636 ("spl: make CONFIG_OF_EMBED pass dts through fdtgrep")
> Reported-by: Lokesh Vutla <lokeshvutla at ti.com>
> Signed-off-by: Simon Goldschmidt <sgoldschmidt at de.pepperl-fuchs.com>
> ---
> Changes in v2:
> - move definition of cmd_fdtgrep to scripts/Makefile.lib instead of
>   duplicating it
> 
>  dts/Makefile         | 16 ----------------
>  scripts/Makefile.lib | 18 ++++++++++++++++++
>  scripts/Makefile.spl |  2 ++
>  3 files changed, 20 insertions(+), 16 deletions(-)
> 
> diff --git a/dts/Makefile b/dts/Makefile
> index c9b2a89441..779c9ec5c3 100644
> --- a/dts/Makefile
> +++ b/dts/Makefile
> @@ -22,22 +22,6 @@ DTB := $(ARCH_PATH)/$(DEVICE_TREE).dtb
>  dtb_depends += $(DTB:.dtb=.dts)
>  endif
>  
> -# Pass the original device tree file through fdtgrep twice. The first pass
> -# removes any unwanted nodes (i.e. those which don't have the
> -# 'u-boot,dm-pre-reloc' property and thus are not needed by SPL. The second
> -# pass removes various unused properties from the remaining nodes.
> -# The output is typically a much smaller device tree file.
> -ifeq ($(CONFIG_TPL_BUILD),y)
> -fdtgrep_props := -b u-boot,dm-pre-reloc -b u-boot,dm-tpl
> -else
> -fdtgrep_props := -b u-boot,dm-pre-reloc -b u-boot,dm-spl
> -endif
> -quiet_cmd_fdtgrep = FDTGREP $@
> -      cmd_fdtgrep = $(objtree)/tools/fdtgrep $(fdtgrep_props) -RT $< \
> -		-n /chosen -n /config -O dtb | \
> -	$(objtree)/tools/fdtgrep -r -O dtb - -o $@ \
> -		$(addprefix -P ,$(subst $\",,$(CONFIG_OF_SPL_REMOVE_PROPS)))
> -
>  $(obj)/dt-spl.dtb: $(DTB) $(objtree)/tools/fdtgrep FORCE
>  	$(call if_changed,fdtgrep)
>  
> diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib
> index 8f19b2db56..8f21653136 100644
> --- a/scripts/Makefile.lib
> +++ b/scripts/Makefile.lib
> @@ -522,3 +522,21 @@ MKIMAGEOUTPUT ?= /dev/null
>  quiet_cmd_mkimage = MKIMAGE $@
>  cmd_mkimage = $(objtree)/tools/mkimage $(MKIMAGEFLAGS_$(@F)) -d $< $@ \
>  	$(if $(KBUILD_VERBOSE:1=), >$(MKIMAGEOUTPUT))
> +
> +# fdtgrep
> +# ---------------------------------------------------------------------------
> +# Pass the original device tree file through fdtgrep twice. The first pass
> +# removes any unwanted nodes (i.e. those which don't have the
> +# 'u-boot,dm-pre-reloc' property and thus are not needed by SPL. The second
> +# pass removes various unused properties from the remaining nodes.
> +# The output is typically a much smaller device tree file.
> +ifeq ($(CONFIG_TPL_BUILD),y)
> +fdtgrep_props := -b u-boot,dm-pre-reloc -b u-boot,dm-tpl
> +else
> +fdtgrep_props := -b u-boot,dm-pre-reloc -b u-boot,dm-spl
> +endif
> +quiet_cmd_fdtgrep = FDTGREP $@
> +      cmd_fdtgrep = $(objtree)/tools/fdtgrep $(fdtgrep_props) -RT $< \
> +		-n /chosen -n /config -O dtb | \
> +	$(objtree)/tools/fdtgrep -r -O dtb - -o $@ \
> +		$(addprefix -P ,$(subst $\",,$(CONFIG_OF_SPL_REMOVE_PROPS)))
> diff --git a/scripts/Makefile.spl b/scripts/Makefile.spl
> index 64390e5785..0af7cfe50c 100644
> --- a/scripts/Makefile.spl
> +++ b/scripts/Makefile.spl
> @@ -50,6 +50,8 @@ endif
>  include $(srctree)/config.mk
>  include $(srctree)/arch/$(ARCH)/Makefile
>  
> +include scripts/Makefile.lib

you might want to append $(srctree)/ to scripts. Rest looks good to me.

Thanks and regards,
Lokesh

> +
>  # Enable garbage collection of un-used sections for SPL
>  KBUILD_CFLAGS += -ffunction-sections -fdata-sections
>  LDFLAGS_FINAL += --gc-sections
> 


More information about the U-Boot mailing list