[U-Boot,v3] spl: unbreak CONFIG_SPL_MULTI_DTB_FIT after fixing CONFIG_OF_EMBED

Message ID 20180214054436.4976-1-sgoldschmidt@de.pepperl-fuchs.com
State Accepted
Commit d693742b254fdbafeb39dea80e7e9640bc0ebae4
Delegated to: Tom Rini
Headers show
Series
  • [U-Boot,v3] spl: unbreak CONFIG_SPL_MULTI_DTB_FIT after fixing CONFIG_OF_EMBED
Related show

Commit Message

Simon Goldschmidt Feb. 14, 2018, 5:44 a.m.
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@ti.com>
Signed-off-by: Simon Goldschmidt <sgoldschmidt@de.pepperl-fuchs.com>
---
Changes in v3:
- append $(srctree)/ to scripts in Makefile.spl

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(-)

Comments

Lokesh Vutla Feb. 14, 2018, 6:36 a.m. | #1
On Wednesday 14 February 2018 11:14 AM, 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@ti.com>
> Signed-off-by: Simon Goldschmidt <sgoldschmidt@de.pepperl-fuchs.com>

Reviewed-by: Lokesh Vutla <lokeshvutla@ti.com>

Thanks and regards,
Lokesh
Tom Rini Feb. 15, 2018, 12:20 p.m. | #2
On Wed, Feb 14, 2018 at 06:44:36AM +0100, 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@ti.com>
> Signed-off-by: Simon Goldschmidt <sgoldschmidt@de.pepperl-fuchs.com>
> Reviewed-by: Lokesh Vutla <lokeshvutla@ti.com>

Applied to u-boot/master, thanks!

Patch

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 $(srctree)/scripts/Makefile.lib
+
 # Enable garbage collection of un-used sections for SPL
 KBUILD_CFLAGS += -ffunction-sections -fdata-sections
 LDFLAGS_FINAL += --gc-sections