Message ID | 1355993289-31804-1-git-send-email-maxime.ripard@free-electrons.com |
---|---|
State | Accepted |
Commit | dd1aa62cceff4aa9072d7933042480c20cfd07ef |
Headers | show |
>>>>> "Maxime" == Maxime Ripard <maxime.ripard@free-electrons.com> writes:
Maxime> Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Committed, thanks.
Maxime> define LINUX_INSTALL_DTB
Maxime> - cp $(KERNEL_ARCH_PATH)/boot/$(KERNEL_DTS_NAME).dtb $(BINARIES_DIR)/
Maxime> + cp $(addprefix $(KERNEL_ARCH_PATH)/boot/, \
Maxime> + $(addsuffix .dtb, $(call qstrip, $(KERNEL_DTS_NAME)))) \
Maxime> + $(BINARIES_DIR)/
Not directly related to your patch, but this is broken by the recent
(post-3.7) change to put .dtb files in arch/arm/boot/dts. I wonder how
the best way of handling this is?
On 20/12/12 15:24, Peter Korsgaard wrote: >>>>>> "Maxime" == Maxime Ripard<maxime.ripard@free-electrons.com> writes: > > Maxime> Signed-off-by: Maxime Ripard<maxime.ripard@free-electrons.com> > > Committed, thanks. > > Maxime> define LINUX_INSTALL_DTB > Maxime> - cp $(KERNEL_ARCH_PATH)/boot/$(KERNEL_DTS_NAME).dtb $(BINARIES_DIR)/ > Maxime> + cp $(addprefix $(KERNEL_ARCH_PATH)/boot/, \ > Maxime> + $(addsuffix .dtb, $(call qstrip, $(KERNEL_DTS_NAME)))) \ > Maxime> + $(BINARIES_DIR)/ > > Not directly related to your patch, but this is broken by the recent > (post-3.7) change to put .dtb files in arch/arm/boot/dts. I wonder how > the best way of handling this is? How about adding this to LINUX_POST_PATCH_HOOKS if [ ! -e $(KERNEL_ARCH_PATH)/boot/dts ]; then \ ln -s . $(KERNEL_ARCH_PATH)/boot/dts; \ fi and adding dts to the path everywhere we use it? Regards, Arnout
>>>>> "Arnout" == Arnout Vandecappelle <arnout@mind.be> writes: Hi, >> Not directly related to your patch, but this is broken by the recent >> (post-3.7) change to put .dtb files in arch/arm/boot/dts. I wonder how >> the best way of handling this is? Arnout> How about adding this to LINUX_POST_PATCH_HOOKS Arnout> if [ ! -e $(KERNEL_ARCH_PATH)/boot/dts ]; then \ Arnout> ln -s . $(KERNEL_ARCH_PATH)/boot/dts; \ Arnout> fi Arnout> and adding dts to the path everywhere we use it? That won't work as boot/dts exists (that's where the .dts files are). The only thing that changed was where the generated .dtb files are put (in arch/$ARCH/boot vs arch/$ARCH/boot/dts). I solved it by adding a bit of extra logic to the LINUX_INSTALL_DTB rule instead.
diff --git a/linux/Config.in b/linux/Config.in index f408ad5..3ff6b4a 100644 --- a/linux/Config.in +++ b/linux/Config.in @@ -261,11 +261,12 @@ config BR2_LINUX_KERNEL_USE_CUSTOM_DTS endchoice config BR2_LINUX_KERNEL_INTREE_DTS_NAME - string "Device Tree Source file name" + string "Device Tree Source file names" depends on BR2_LINUX_KERNEL_USE_INTREE_DTS help Name of the device tree source file, without - the trailing .dts + the trailing .dts. You can provide a list of + dts files to build, separated by spaces. config BR2_LINUX_KERNEL_CUSTOM_DTS_PATH string "Device Tree Source file path" diff --git a/linux/linux.mk b/linux/linux.mk index c4bdf90..3321d80 100644 --- a/linux/linux.mk +++ b/linux/linux.mk @@ -187,10 +187,13 @@ endef ifeq ($(BR2_LINUX_KERNEL_DTS_SUPPORT),y) ifeq ($(BR2_LINUX_KERNEL_DTB_IS_SELF_BUILT),) define LINUX_BUILD_DTB - $(TARGET_MAKE_ENV) $(MAKE) $(LINUX_MAKE_FLAGS) -C $(@D) $(KERNEL_DTS_NAME).dtb + $(TARGET_MAKE_ENV) $(MAKE) $(LINUX_MAKE_FLAGS) -C $(@D) \ + $(addsuffix .dtb, $(call qstrip, $(KERNEL_DTS_NAME))) endef define LINUX_INSTALL_DTB - cp $(KERNEL_ARCH_PATH)/boot/$(KERNEL_DTS_NAME).dtb $(BINARIES_DIR)/ + cp $(addprefix $(KERNEL_ARCH_PATH)/boot/, \ + $(addsuffix .dtb, $(call qstrip, $(KERNEL_DTS_NAME)))) \ + $(BINARIES_DIR)/ endef endif endif
Signed-off-by: Maxime Ripard <maxime.ripard@free-electrons.com> --- Fixes since v3: - Remove the use of foreach but use addprefix/addsuffix instead --- linux/Config.in | 5 +++-- linux/linux.mk | 7 +++++-- 2 files changed, 8 insertions(+), 4 deletions(-)