diff mbox

[U-Boot] kbuild: Do not append dtb for OF_EMBED case

Message ID ccbec0a5a700411539123919f72f23136b070c08.1461760109.git.michal.simek@xilinx.com
State Superseded
Headers show

Commit Message

Michal Simek April 27, 2016, 12:28 p.m. UTC
dtb is already included in binary that's why there is no need to replace
u-boot-spl.bin with u-boot-spl-dtb.bin. This is only needed for
OF_SEPARATE is enabled. Only copy -nodtb.bin version which is straight
output from objcopy -O binary.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
---

 scripts/Makefile.spl | 5 +++++
 1 file changed, 5 insertions(+)

Comments

Masahiro Yamada April 28, 2016, 5:54 a.m. UTC | #1
Hi Michal,
(+cc Simon)

2016-04-27 21:28 GMT+09:00 Michal Simek <michal.simek@xilinx.com>:
> dtb is already included in binary that's why there is no need to replace
> u-boot-spl.bin with u-boot-spl-dtb.bin. This is only needed for
> OF_SEPARATE is enabled. Only copy -nodtb.bin version which is straight
> output from objcopy -O binary.

Correct.

(But, as you know, fdtgrep does not work for OF_EMBED,
so this is only useful when SPL has enough memory footprint.)


> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
> ---
>
>  scripts/Makefile.spl | 5 +++++
>  1 file changed, 5 insertions(+)
>
> diff --git a/scripts/Makefile.spl b/scripts/Makefile.spl
> index 44242842db31..79c680c1d62f 100644
> --- a/scripts/Makefile.spl
> +++ b/scripts/Makefile.spl
> @@ -170,12 +170,17 @@ $(obj)/$(SPL_BIN)-dtb.bin: $(obj)/$(SPL_BIN)-nodtb.bin $(obj)/$(SPL_BIN)-pad.bin
>                 $(obj)/$(SPL_BIN).dtb FORCE
>         $(call if_changed,cat)
>
> +ifeq ($(CONFIG_OF_SEPARATE),y)
>  $(obj)/$(SPL_BIN).bin: $(obj)/$(SPL_BIN)-dtb.bin FORCE
>         $(call if_changed,copy)
>  else
>  $(obj)/$(SPL_BIN).bin: $(obj)/$(SPL_BIN)-nodtb.bin FORCE
>         $(call if_changed,copy)
>  endif
> +else
> +$(obj)/$(SPL_BIN).bin: $(obj)/$(SPL_BIN)-nodtb.bin FORCE
> +       $(call if_changed,copy)
> +endif
>
>  # Create a file that pads from the end of u-boot-spl-nodtb.bin to bss_end
>  $(obj)/$(SPL_BIN)-pad.bin: $(obj)/$(SPL_BIN)



The code is duplicated for
 - CONFIG_SPL_OF_CONTROL=y && CONFIG_OF_SEPARATE=n
 - CONFIG_SPL_OF_CONTROL=n

Could you refactor a bit like follows?


ifeq ($(CONFIG_SPL_OF_CONTROL)$(CONFIG_OF_SEPARATE),yy)
$(obj)/$(SPL_BIN)-dtb.bin: $(obj)/$(SPL_BIN)-nodtb.bin
$(obj)/$(SPL_BIN)-pad.bin \
                          $(obj)/$(SPL_BIN).dtb FORCE
        $(call if_changed,cat)

$(obj)/$(SPL_BIN).bin: $(obj)/$(SPL_BIN)-dtb.bin FORCE
        $(call if_changed,copy)
else
$(obj)/$(SPL_BIN).bin: $(obj)/$(SPL_BIN)-nodtb.bin FORCE
        $(call if_changed,copy)
endif
Michal Simek April 28, 2016, 6:24 a.m. UTC | #2
Hi Masahiro,

On 28.4.2016 07:54, Masahiro Yamada wrote:
> Hi Michal,
> (+cc Simon)
> 
> 2016-04-27 21:28 GMT+09:00 Michal Simek <michal.simek@xilinx.com>:
>> dtb is already included in binary that's why there is no need to replace
>> u-boot-spl.bin with u-boot-spl-dtb.bin. This is only needed for
>> OF_SEPARATE is enabled. Only copy -nodtb.bin version which is straight
>> output from objcopy -O binary.
> 
> Correct.
> 
> (But, as you know, fdtgrep does not work for OF_EMBED,
> so this is only useful when SPL has enough memory footprint.)

That's fine and it is reasonable limitation.



>> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
>> ---
>>
>>  scripts/Makefile.spl | 5 +++++
>>  1 file changed, 5 insertions(+)
>>
>> diff --git a/scripts/Makefile.spl b/scripts/Makefile.spl
>> index 44242842db31..79c680c1d62f 100644
>> --- a/scripts/Makefile.spl
>> +++ b/scripts/Makefile.spl
>> @@ -170,12 +170,17 @@ $(obj)/$(SPL_BIN)-dtb.bin: $(obj)/$(SPL_BIN)-nodtb.bin $(obj)/$(SPL_BIN)-pad.bin
>>                 $(obj)/$(SPL_BIN).dtb FORCE
>>         $(call if_changed,cat)
>>
>> +ifeq ($(CONFIG_OF_SEPARATE),y)
>>  $(obj)/$(SPL_BIN).bin: $(obj)/$(SPL_BIN)-dtb.bin FORCE
>>         $(call if_changed,copy)
>>  else
>>  $(obj)/$(SPL_BIN).bin: $(obj)/$(SPL_BIN)-nodtb.bin FORCE
>>         $(call if_changed,copy)
>>  endif
>> +else
>> +$(obj)/$(SPL_BIN).bin: $(obj)/$(SPL_BIN)-nodtb.bin FORCE
>> +       $(call if_changed,copy)
>> +endif
>>
>>  # Create a file that pads from the end of u-boot-spl-nodtb.bin to bss_end
>>  $(obj)/$(SPL_BIN)-pad.bin: $(obj)/$(SPL_BIN)
> 
> 
> 
> The code is duplicated for
>  - CONFIG_SPL_OF_CONTROL=y && CONFIG_OF_SEPARATE=n
>  - CONFIG_SPL_OF_CONTROL=n
> 
> Could you refactor a bit like follows?

TBH: I was expecting that there will be better solution for it.

> 
> 
> ifeq ($(CONFIG_SPL_OF_CONTROL)$(CONFIG_OF_SEPARATE),yy)
> $(obj)/$(SPL_BIN)-dtb.bin: $(obj)/$(SPL_BIN)-nodtb.bin
> $(obj)/$(SPL_BIN)-pad.bin \
>                           $(obj)/$(SPL_BIN).dtb FORCE
>         $(call if_changed,cat)
> 
> $(obj)/$(SPL_BIN).bin: $(obj)/$(SPL_BIN)-dtb.bin FORCE
>         $(call if_changed,copy)
> else
> $(obj)/$(SPL_BIN).bin: $(obj)/$(SPL_BIN)-nodtb.bin FORCE
>         $(call if_changed,copy)
> endif
> 

Let me retest and send v2.

Thanks,
Michal
diff mbox

Patch

diff --git a/scripts/Makefile.spl b/scripts/Makefile.spl
index 44242842db31..79c680c1d62f 100644
--- a/scripts/Makefile.spl
+++ b/scripts/Makefile.spl
@@ -170,12 +170,17 @@  $(obj)/$(SPL_BIN)-dtb.bin: $(obj)/$(SPL_BIN)-nodtb.bin $(obj)/$(SPL_BIN)-pad.bin
 		$(obj)/$(SPL_BIN).dtb FORCE
 	$(call if_changed,cat)
 
+ifeq ($(CONFIG_OF_SEPARATE),y)
 $(obj)/$(SPL_BIN).bin: $(obj)/$(SPL_BIN)-dtb.bin FORCE
 	$(call if_changed,copy)
 else
 $(obj)/$(SPL_BIN).bin: $(obj)/$(SPL_BIN)-nodtb.bin FORCE
 	$(call if_changed,copy)
 endif
+else
+$(obj)/$(SPL_BIN).bin: $(obj)/$(SPL_BIN)-nodtb.bin FORCE
+	$(call if_changed,copy)
+endif
 
 # Create a file that pads from the end of u-boot-spl-nodtb.bin to bss_end
 $(obj)/$(SPL_BIN)-pad.bin: $(obj)/$(SPL_BIN)