>-----Original Message-----
>From: [email protected] [mailto:meta-ti-
>[email protected]] On Behalf Of Denys Dmytriyenko
>Sent: Monday, August 26, 2013 11:27 AM
>To: [email protected]
>Subject: [meta-ti] [dylan][PATCH 1/2] linux-dtb.inc: overlay the
>latest version from oe-core/master
>
>From: Denys Dmytriyenko <[email protected]>
>
>With recent kernel versions now using CPP and kernel headers, it's
>better
>to use kernel's in-tree DTB compilation instead of building and
>using our
>own DTC compiler externally. This overlays the changed approach
>from latest
>oe-core/master into Dylan.

Do we need to worry about this not working for older DT kernels like the 
ti-linux-staging_3.8 kernel?

>
>Signed-off-by: Denys Dmytriyenko <[email protected]>
>---
> recipes-kernel/linux/linux-dtb.inc | 69
>++++++++++++++++++++++++++++++++++++++
> 1 file changed, 69 insertions(+)
> create mode 100644 recipes-kernel/linux/linux-dtb.inc
>
>diff --git a/recipes-kernel/linux/linux-dtb.inc b/recipes-
>kernel/linux/linux-dtb.inc
>new file mode 100644
>index 0000000..6b8f1a5
>--- /dev/null
>+++ b/recipes-kernel/linux/linux-dtb.inc
>@@ -0,0 +1,69 @@
>+# Support for device tree generation
>+FILES_kernel-devicetree = "/${KERNEL_IMAGEDEST}/devicetree*"
>+
>+python __anonymous () {
>+    d.appendVar("PACKAGES", " kernel-devicetree")
>+}
>+
>+do_install_append() {
>+      if test -n "${KERNEL_DEVICETREE}"; then
>+              for DTB in ${KERNEL_DEVICETREE}; do
>+                      if echo ${DTB} | grep -q '/dts/'; then
>+                              bbwarn "${DTB} contains the full path to
>the the dts file, but only the dtb name should be used."
>+                              DTB=`basename ${DTB} | sed
>'s,\.dts$,.dtb,g'`
>+                      fi
>+                      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}
>+                      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
>+}
>+
>+do_deploy_append() {
>+      if test -n "${KERNEL_DEVICETREE}"; then
>+              for DTB in ${KERNEL_DEVICETREE}; do
>+                      if echo ${DTB} | grep -q '/dts/'; then
>+                              bbwarn "${DTB} contains the full path to
>the the dts file, but only the dtb name should be used."
>+                              DTB=`basename ${DTB} | sed
>'s,\.dts$,.dtb,g'`
>+                      fi
>+                      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 ${DTB_PATH}
>${DEPLOYDIR}/${DTB_NAME}.dtb
>+                      cd ${DEPLOYDIR}
>+                      ln -sf ${DTB_NAME}.dtb ${DTB_SYMLINK_NAME}.dtb
>+                      cd -
>+              done
>+      fi
>+}
>+
>+pkg_postinst_kernel-devicetree () {
>+      cd /${KERNEL_IMAGEDEST}
>+      for DTB_FILE in ${KERNEL_DEVICETREE}
>+      do
>+              DTB_BASE_NAME=`basename ${DTB_FILE} | awk -F "."
>'{print $1}'`
>+              DTB_SYMLINK_NAME=`echo ${KERNEL_IMAGE_SYMLINK_NAME} |
>sed "s/${MACHINE}/${DTB_BASE_NAME}/g"`
>+              update-alternatives --install
>/${KERNEL_IMAGEDEST}/${DTB_BASE_NAME}.dtb ${DTB_BASE_NAME}.dtb
>devicetree-${DTB_SYMLINK_NAME}.dtb ${KERNEL_PRIORITY} || true
>+      done
>+}
>+
>+pkg_postrm_kernel-devicetree () {
>+      cd /${KERNEL_IMAGEDEST}
>+      for DTB_FILE in ${KERNEL_DEVICETREE}
>+      do
>+              DTB_BASE_NAME=`basename ${DTB_FILE} | awk -F "."
>'{print $1}'`
>+              DTB_SYMLINK_NAME=`echo ${KERNEL_IMAGE_SYMLINK_NAME} |
>sed "s/${MACHINE}/${DTB_BASE_NAME}/g"`
>+              update-alternatives --remove ${DTB_BASE_NAME}.dtb
>devicetree-${DTB_SYMLINK_NAME}.dtb ${KERNEL_PRIORITY} || true
>+      done
>+}
>--
>1.8.3.2
>
>_______________________________________________
>meta-ti mailing list
>[email protected]
>https://lists.yoctoproject.org/listinfo/meta-ti
_______________________________________________
meta-ti mailing list
[email protected]
https://lists.yoctoproject.org/listinfo/meta-ti

Reply via email to