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

Lokesh Vutla lokeshvutla at ti.com
Thu Jan 11 08:33:02 UTC 2018



On Wednesday 10 January 2018 07:40 PM, Goldschmidt Simon wrote:
> On Wed, 10/01/18 09:48, Lokesh Vutla wrote:
>> On Wednesday 10 January 2018 12:32 PM, Goldschmidt Simon wrote:
>>> Commit 9bd76b80 "spl: make CONFIG_OF_EMBED pass dts through fdtgrep"
>>> moved the fdtgrep code from scripts/Makefile.spl to dts/Makefile so
>>> that the dtb is stripped in embedded mode, too.
>>>
>>> This broke CONFIG_SPL_MULTI_DTB_FIT where fdtgrep is still called from
>>> scripts/Makefile.spl to strip all dtbs in CONFIG_SPL_OF_LIST.
>>> To fix that, cmd_fdtgrep is brought back into scripts/Makefile.spl at
>>> the downside of having it duplicated in two makefiles.
>>
>> Missing Signed-off-by? Also a Reported-by credits would be nice :)
> 
> Right. I'll add that in a next version, sorry.
> 
>>
>>> ---
>>>  scripts/Makefile.spl | 16 ++++++++++++++++
>>>  1 file changed, 16 insertions(+)
>>>
>>> diff --git a/scripts/Makefile.spl b/scripts/Makefile.spl index
>>> 64390e5785..72e74f14c3 100644
>>> --- a/scripts/Makefile.spl
>>> +++ b/scripts/Makefile.spl
>>> @@ -239,6 +239,22 @@ $(obj)/$(SPL_BIN)-pad.bin: $(obj)/$(SPL_BIN)
>>>  	@bss_size_str=$(shell $(NM) $< | awk 'BEGIN {size = 0} /__bss_size/ {size
>> = $$1} END {print "ibase=16; " toupper(size)}' | bc); \
>>>  	dd if=/dev/zero of=$@ bs=1 count=$${bss_size_str} 2>/dev/null;
>>>
>>> +# 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)))
>>> +
>>
>> hmm..we are duplicating code here. Why can't dtb build for
>> CONFIG_OF_EMBED be moved to scripts/Makefile.spl?
> 
> I don't like the code duplication either. Back in November, I tried
> to create the fdtgrep'ed ftd from Makefile.spl but failed. Seems I'm
> not a pro in makefiles... Of course I'd appreciate it if you'd find
> a solution for that!

Simon, Tom,
	Any suggestions? Should we shift entire spl-dtb support to dts/Makefile?

Thanks and regards,
Lokesh

> 
> Regards,
> Simon
> 


More information about the U-Boot mailing list