]> code.ossystems Code Review - openembedded-core.git/commitdiff
linux: factor dts/dtc/dtb handling into a specific include
authorBruce Ashfield <bruce.ashfield@windriver.com>
Wed, 9 Feb 2011 05:45:23 +0000 (00:45 -0500)
committerRichard Purdie <richard.purdie@linuxfoundation.org>
Wed, 9 Feb 2011 11:16:34 +0000 (11:16 +0000)
Fixes [BUGID #610]

The powerpc linux-yocto kernels were not creating dtb images
in the deploy directories. This was due to two problems:

  - the dtb generation rules were not being configured
  - the boards were not specifying a device tree in their config

This change addresses the first point by factoring out the
dtb generation routines into a new include that can be used by
multiple recipes.

Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
meta/recipes-kernel/linux/linux-dtb.inc [new file with mode: 0644]
meta/recipes-kernel/linux/linux-yocto.inc
meta/recipes-kernel/linux/linux.inc

diff --git a/meta/recipes-kernel/linux/linux-dtb.inc b/meta/recipes-kernel/linux/linux-dtb.inc
new file mode 100644 (file)
index 0000000..0b27d18
--- /dev/null
@@ -0,0 +1,27 @@
+# Support for device tree generation
+FILES_kernel_devicetree = "/boot/devicetree*"
+KERNEL_DEVICETREE_FLAGS = "-R 8 -p 0x3000"
+
+python __anonymous () {
+    import bb
+
+    devicetree = bb.data.getVar("KERNEL_DEVICETREE", d, 1) or ''
+    if devicetree:
+       depends = bb.data.getVar("DEPENDS", d, 1)
+       bb.data.setVar("DEPENDS", "%s dtc-native" % depends, d)
+       packages = bb.data.getVar("PACKAGES", d, 1)
+       bb.data.setVar("PACKAGES", "%s kernel-devicetree" % packages, d)
+}
+
+do_install_append() {
+    if test -n "${KERNEL_DEVICETREE}"; then
+       dtc -I dts -O dtb ${KERNEL_DEVICETREE_FLAGS} -o devicetree ${KERNEL_DEVICETREE}
+       install -m 0644 devicetree ${D}/boot/devicetree-${KERNEL_VERSION}
+       install -d ${DEPLOY_DIR_IMAGE}
+       install -m 0644 devicetree ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGE_BASE_NAME}.dtb
+       cd ${DEPLOY_DIR_IMAGE}
+       rm -f ${KERNEL_IMAGE_SYMLINK_NAME}.dtb
+       ln -sf ${KERNEL_IMAGE_BASE_NAME}.dtb ${KERNEL_IMAGE_SYMLINK_NAME}.dtb
+    fi
+}
+
index 03935fa702ca42683fde985b3e4b6bd3f11fef32..0812144d463d7a048e966e82df540162c30061a6 100644 (file)
@@ -18,5 +18,6 @@ addtask kernel_configme before do_configure after do_patch
 
 # Pick up shared functions
 inherit kernel-yocto
+require linux-dtb.inc
 
 B = "${WORKDIR}/linux-${MACHINE}-${LINUX_KERNEL_TYPE}-build"
index 93859bb5a8f3aa19926d56a2f221cd0ef4c19eb2..726d3d69040b95c475757b8f13c91ffa05c0ae3a 100644 (file)
@@ -3,6 +3,7 @@ SECTION = "kernel"
 LICENSE = "GPL"
 
 inherit kernel
+require linux-dtb.inc
 
 DEPENDS_append_em-x270 = " mtd-utils "
 
@@ -15,21 +16,6 @@ CMDLINE_at91sam9263ek = "mem=64M console=ttyS0,115200 root=/dev/mmcblk0p1 rootfs
 #boot from nfs
 #CMDLINE_at91sam9263ek = "mem=64M console=ttyS0,115200 root=301 root=/dev/nfs nfsroot=172.20.3.1:/data/at91 ip=172.20.0.5:::255.255.0.0"
 
-# Support for device tree generation
-FILES_kernel_devicetree = "/boot/devicetree*"
-KERNEL_DEVICETREE_FLAGS = "-R 8 -p 0x3000"
-
-python __anonymous () {
-    import bb
-
-    devicetree = bb.data.getVar("KERNEL_DEVICETREE", d, 1) or ''
-    if devicetree:
-        depends = bb.data.getVar("DEPENDS", d, 1)
-        bb.data.setVar("DEPENDS", "%s dtc-native" % depends, d)
-        packages = bb.data.getVar("PACKAGES", d, 1)
-        bb.data.setVar("PACKAGES", "%s kernel-devicetree" % packages, d)
-}
-
 do_configure_prepend() {
         echo "" > ${S}/.config
 
@@ -105,14 +91,3 @@ do_install_prepend() {
         fi
 }
 
-do_install_append() {
-    if test -n "${KERNEL_DEVICETREE}"; then
-        dtc -I dts -O dtb ${KERNEL_DEVICETREE_FLAGS} -o devicetree ${KERNEL_DEVICETREE}
-        install -m 0644 devicetree ${D}/boot/devicetree-${KERNEL_VERSION}
-        install -d ${DEPLOY_DIR_IMAGE}
-        install -m 0644 devicetree ${DEPLOY_DIR_IMAGE}/${KERNEL_IMAGE_BASE_NAME}.dtb
-        cd ${DEPLOY_DIR_IMAGE}
-        rm -f ${KERNEL_IMAGE_SYMLINK_NAME}.dtb
-        ln -sf ${KERNEL_IMAGE_BASE_NAME}.dtb ${KERNEL_IMAGE_SYMLINK_NAME}.dtb
-    fi
-}