[meta-ti] [dylan][PATCH 1/2] linux-dtb.inc: overlay the latest version from oe-core/master

Maupin, Chase chase.maupin at ti.com
Mon Aug 26 11:53:41 PDT 2013


>-----Original Message-----
>From: meta-ti-bounces at yoctoproject.org [mailto:meta-ti-
>bounces at yoctoproject.org] On Behalf Of Denys Dmytriyenko
>Sent: Monday, August 26, 2013 11:27 AM
>To: meta-ti at yoctoproject.org
>Subject: [meta-ti] [dylan][PATCH 1/2] linux-dtb.inc: overlay the
>latest version from oe-core/master
>
>From: Denys Dmytriyenko <denys at ti.com>
>
>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 <denys at ti.com>
>---
> 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
>meta-ti at yoctoproject.org
>https://lists.yoctoproject.org/listinfo/meta-ti



More information about the meta-ti mailing list