From 0ec3710b8dcae311e8d9d676d5f1c6843a81383b Mon Sep 17 00:00:00 2001 From: Otavio Salvador Date: Fri, 16 Aug 2013 15:34:28 -0300 Subject: linux-dtb.inc: Fix dtb generation for kernels newer than 3.8 The 3.8 kernel has change the default directory where the dtb file is stored. The change has been done at: ,----[ Quote of 3.8 kernel change ] | commit 499cd8298628eeabf0eb5eb6525d4faa0eec80d8 | Author: Grant Likely | Date: Tue Nov 27 16:29:11 2012 -0700 | | ARM: dt: change .dtb build rules to build in dts directory | | The current rules have the .dtb files build in a different directory | from the .dts files. The only reason for this is that it was what | PowerPC has done historically. This patch changes ARM to use the generic | dtb rule which builds .dtb files in the same directory as the source .dts. | | Cc: Russell King | Cc: Arnd Bergmann | Acked-by: Olof Johansson | Cc: linux-arm-kernel@lists.infradead.org | Signed-off-by: Grant Likely | [swarren: added rm command for old stale .dtb files] | Signed-off-by: Stephen Warren | Signed-off-by: Rob Herring `---- This change adds support for both places to backward and forward compatibility. Signed-off-by: Otavio Salvador Signed-off-by: Saul Wold --- meta/recipes-kernel/linux/linux-dtb.inc | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'meta/recipes-kernel') diff --git a/meta/recipes-kernel/linux/linux-dtb.inc b/meta/recipes-kernel/linux/linux-dtb.inc index cebc76a9a9..6b8f1a54b8 100644 --- a/meta/recipes-kernel/linux/linux-dtb.inc +++ b/meta/recipes-kernel/linux/linux-dtb.inc @@ -15,8 +15,12 @@ do_install_append() { DTB_BASE_NAME=`basename ${DTB} .dtb` DTB_NAME=`echo ${KERNEL_IMAGE_BASE_NAME} | sed "s/${MACHINE}/${DTB_BASE_NAME}/g"` DTB_SYMLINK_NAME=`echo ${KERNEL_IMAGE_SYMLINK_NAME} | sed "s/${MACHINE}/${DTB_BASE_NAME}/g"` + DTB_PATH="${B}/arch/${ARCH}/boot/dts/${DTB}" oe_runmake ${DTB} - install -m 0644 ${B}/arch/${ARCH}/boot/${DTB} ${D}/${KERNEL_IMAGEDEST}/devicetree-${DTB_SYMLINK_NAME}.dtb + if [ ! -e "${DTB_PATH}" ]; then + DTB_PATH="${B}/arch/${ARCH}/boot/${DTB}" + fi + install -m 0644 ${DTB_PATH} ${D}/${KERNEL_IMAGEDEST}/devicetree-${DTB_SYMLINK_NAME}.dtb done fi } @@ -31,8 +35,12 @@ do_deploy_append() { DTB_BASE_NAME=`basename ${DTB} .dtb` DTB_NAME=`echo ${KERNEL_IMAGE_BASE_NAME} | sed "s/${MACHINE}/${DTB_BASE_NAME}/g"` DTB_SYMLINK_NAME=`echo ${KERNEL_IMAGE_SYMLINK_NAME} | sed "s/${MACHINE}/${DTB_BASE_NAME}/g"` + DTB_PATH="${B}/arch/${ARCH}/boot/dts/${DTB}" + if [ ! -e "${DTB_PATH}" ]; then + DTB_PATH="${B}/arch/${ARCH}/boot/${DTB}" + fi install -d ${DEPLOYDIR} - install -m 0644 ${B}/arch/${ARCH}/boot/${DTB} ${DEPLOYDIR}/${DTB_NAME}.dtb + install -m 0644 ${DTB_PATH} ${DEPLOYDIR}/${DTB_NAME}.dtb cd ${DEPLOYDIR} ln -sf ${DTB_NAME}.dtb ${DTB_SYMLINK_NAME}.dtb cd - -- cgit 1.2.3-korg