diff mbox

[v2] kbuild: Create directory for target DTB

Message ID c09612262f2758e70dd4d700f2d32692601f8287.1426682342.git.michal.simek@xilinx.com (mailing list archive)
State New, archived
Headers show

Commit Message

Michal Simek March 18, 2015, 12:39 p.m. UTC
From: Nathan Rossi <nathan.rossi@xilinx.com>

When building specific DTBs out of the kernel tree the vendor subdirs
(boot/dts/<vendor>) are not created, ensure that they are before
building the DTB.

Signed-off-by: Nathan Rossi <nathan.rossi@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
---

Changes in v2:
- Use $(dir ${dtc-tmp}) instead of `dirname ${dtc-tmp}`
  Reported-by: Will Deacon <will.deacon@arm.com>

Problem is visible with arm64 for out of tree builds.
make O=/tmp/kkk/ defconfig
make O=/tmp/kkk/ cavium/thunder-88xx.dtb

  DTC     arch/arm64/boot/dts/cavium/thunder-88xx.dtb
cc1: fatal error: opening output file
arch/arm64/boot/dts/cavium/.thunder-88xx.dtb.dts.tmp: No such file or
directory
compilation terminated.
make[2]: *** [arch/arm64/boot/dts/cavium/thunder-88xx.dtb] Error 1
make[1]: *** [cavium/thunder-88xx.dtb] Error 2

Building specific dtb target on arm32 is working fine
make O=/tmp/kkk4/ multi_v7_defconfig
make O=/tmp/kkk4/ zynq-zc702.dtb

This is the way how Yocto is building dtb for specific target.
---
 scripts/Makefile.lib |    3 ++-
 1 files changed, 2 insertions(+), 1 deletions(-)

Comments

Will Deacon March 18, 2015, 1:20 p.m. UTC | #1
On Wed, Mar 18, 2015 at 12:39:07PM +0000, Michal Simek wrote:
> From: Nathan Rossi <nathan.rossi@xilinx.com>
> 
> When building specific DTBs out of the kernel tree the vendor subdirs
> (boot/dts/<vendor>) are not created, ensure that they are before
> building the DTB.
> 
> Signed-off-by: Nathan Rossi <nathan.rossi@xilinx.com>
> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
> ---
> 
> Changes in v2:
> - Use $(dir ${dtc-tmp}) instead of `dirname ${dtc-tmp}`
>   Reported-by: Will Deacon <will.deacon@arm.com>

Looks ok to me, but no idea which tree this should go through. Maybe
arm-soc?

  Acked-by: Will Deacon <will.deacon@arm.com>

Will

> Problem is visible with arm64 for out of tree builds.
> make O=/tmp/kkk/ defconfig
> make O=/tmp/kkk/ cavium/thunder-88xx.dtb
> 
>   DTC     arch/arm64/boot/dts/cavium/thunder-88xx.dtb
> cc1: fatal error: opening output file
> arch/arm64/boot/dts/cavium/.thunder-88xx.dtb.dts.tmp: No such file or
> directory
> compilation terminated.
> make[2]: *** [arch/arm64/boot/dts/cavium/thunder-88xx.dtb] Error 1
> make[1]: *** [cavium/thunder-88xx.dtb] Error 2
> 
> Building specific dtb target on arm32 is working fine
> make O=/tmp/kkk4/ multi_v7_defconfig
> make O=/tmp/kkk4/ zynq-zc702.dtb
> 
> This is the way how Yocto is building dtb for specific target.
> ---
>  scripts/Makefile.lib |    3 ++-
>  1 files changed, 2 insertions(+), 1 deletions(-)
> 
> diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib
> index 044eb4f..79e8661 100644
> --- a/scripts/Makefile.lib
> +++ b/scripts/Makefile.lib
> @@ -282,7 +282,8 @@ $(obj)/%.dtb.S: $(obj)/%.dtb
>  	$(call cmd,dt_S_dtb)
>  
>  quiet_cmd_dtc = DTC     $@
> -cmd_dtc = $(CPP) $(dtc_cpp_flags) -x assembler-with-cpp -o $(dtc-tmp) $< ; \
> +cmd_dtc = mkdir -p $(dir ${dtc-tmp}) ; \
> +	$(CPP) $(dtc_cpp_flags) -x assembler-with-cpp -o $(dtc-tmp) $< ; \
>  	$(objtree)/scripts/dtc/dtc -O dtb -o $@ -b 0 \
>  		-i $(dir $<) $(DTC_FLAGS) \
>  		-d $(depfile).dtc.tmp $(dtc-tmp) ; \
> -- 
> 1.7.2.3
> 
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Olof Johansson March 29, 2015, 8:57 p.m. UTC | #2
On Wed, Mar 18, 2015 at 01:20:04PM +0000, Will Deacon wrote:
> On Wed, Mar 18, 2015 at 12:39:07PM +0000, Michal Simek wrote:
> > From: Nathan Rossi <nathan.rossi@xilinx.com>
> > 
> > When building specific DTBs out of the kernel tree the vendor subdirs
> > (boot/dts/<vendor>) are not created, ensure that they are before
> > building the DTB.
> > 
> > Signed-off-by: Nathan Rossi <nathan.rossi@xilinx.com>
> > Signed-off-by: Michal Simek <michal.simek@xilinx.com>
> > ---
> > 
> > Changes in v2:
> > - Use $(dir ${dtc-tmp}) instead of `dirname ${dtc-tmp}`
> >   Reported-by: Will Deacon <will.deacon@arm.com>
> 
> Looks ok to me, but no idea which tree this should go through. Maybe
> arm-soc?
> 
>   Acked-by: Will Deacon <will.deacon@arm.com>

Sure. Please resend with appropriate acks to arm@kernel.org and we can apply it.


-Olof

--
To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Michal Simek March 30, 2015, 12:39 p.m. UTC | #3
On 03/29/2015 10:57 PM, Olof Johansson wrote:
> On Wed, Mar 18, 2015 at 01:20:04PM +0000, Will Deacon wrote:
>> On Wed, Mar 18, 2015 at 12:39:07PM +0000, Michal Simek wrote:
>>> From: Nathan Rossi <nathan.rossi@xilinx.com>
>>>
>>> When building specific DTBs out of the kernel tree the vendor subdirs
>>> (boot/dts/<vendor>) are not created, ensure that they are before
>>> building the DTB.
>>>
>>> Signed-off-by: Nathan Rossi <nathan.rossi@xilinx.com>
>>> Signed-off-by: Michal Simek <michal.simek@xilinx.com>
>>> ---
>>>
>>> Changes in v2:
>>> - Use $(dir ${dtc-tmp}) instead of `dirname ${dtc-tmp}`
>>>   Reported-by: Will Deacon <will.deacon@arm.com>
>>
>> Looks ok to me, but no idea which tree this should go through. Maybe
>> arm-soc?
>>
>>   Acked-by: Will Deacon <will.deacon@arm.com>
> 
> Sure. Please resend with appropriate acks to arm@kernel.org and we can apply it.

Sent.

Thanks,
Michal

--
To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/scripts/Makefile.lib b/scripts/Makefile.lib
index 044eb4f..79e8661 100644
--- a/scripts/Makefile.lib
+++ b/scripts/Makefile.lib
@@ -282,7 +282,8 @@  $(obj)/%.dtb.S: $(obj)/%.dtb
 	$(call cmd,dt_S_dtb)
 
 quiet_cmd_dtc = DTC     $@
-cmd_dtc = $(CPP) $(dtc_cpp_flags) -x assembler-with-cpp -o $(dtc-tmp) $< ; \
+cmd_dtc = mkdir -p $(dir ${dtc-tmp}) ; \
+	$(CPP) $(dtc_cpp_flags) -x assembler-with-cpp -o $(dtc-tmp) $< ; \
 	$(objtree)/scripts/dtc/dtc -O dtb -o $@ -b 0 \
 		-i $(dir $<) $(DTC_FLAGS) \
 		-d $(depfile).dtc.tmp $(dtc-tmp) ; \