[meta-freescale] [meta-fsl-arm][PATCH] xserver-xorg-extension-viv-hdmi: Add autohdmi utility

Neena Busireddy neena.busireddy at freescale.com
Wed Aug 6 11:06:53 PDT 2014


This utility is used to monitor hdmi display hot plugin and
reconfigure xserver (through exa driver)if it detects the
display change.

This utility can be disabled if the display is not
changed dynamically.

Signed-off-by: Neena Busireddy <neena.busireddy at freescale.com>
---
 .../xserver-xorg-extension-viv-hdmi/rc.local.etc   |   17 +++++
 .../xserver-xorg-extension-viv-hdmi/rc.local.init  |   36 ++++++++++
 ...server-xorg-extension-viv-hdmi_3.10.17-1.0.0.bb |   73 ++++++++++++++++++++
 3 files changed, 126 insertions(+)
 create mode 100644 recipes-graphics/xorg-driver/xserver-xorg-extension-viv-hdmi/rc.local.etc
 create mode 100644 recipes-graphics/xorg-driver/xserver-xorg-extension-viv-hdmi/rc.local.init
 create mode 100644 recipes-graphics/xorg-driver/xserver-xorg-extension-viv-hdmi_3.10.17-1.0.0.bb

diff --git a/recipes-graphics/xorg-driver/xserver-xorg-extension-viv-hdmi/rc.local.etc b/recipes-graphics/xorg-driver/xserver-xorg-extension-viv-hdmi/rc.local.etc
new file mode 100644
index 0000000..3c55ef5
--- /dev/null
+++ b/recipes-graphics/xorg-driver/xserver-xorg-extension-viv-hdmi/rc.local.etc
@@ -0,0 +1,17 @@
+#!/bin/sh -e
+#
+# rc.local
+#
+# This script is executed at the end of each multiuser runlevel.
+# Make sure that the script will "exit 0" on success or any other
+# value on error.
+#
+# In order to enable or disable this script just change the execution
+# bits.
+#
+# By default this script does nothing.
+
+export DISPLAY=:0
+autohdmi &
+
+exit 0
diff --git a/recipes-graphics/xorg-driver/xserver-xorg-extension-viv-hdmi/rc.local.init b/recipes-graphics/xorg-driver/xserver-xorg-extension-viv-hdmi/rc.local.init
new file mode 100644
index 0000000..c897f6d
--- /dev/null
+++ b/recipes-graphics/xorg-driver/xserver-xorg-extension-viv-hdmi/rc.local.init
@@ -0,0 +1,36 @@
+#! /bin/sh
+### BEGIN INIT INFO
+# Provides:          rc.hdmi
+# Required-Start:    $all
+# Required-Stop:
+# Default-Start:     2 3 4 5
+# Default-Stop:
+# Short-Description: Run /etc/rc.hdmi if it exist
+### END INIT INFO
+
+PATH=/sbin:/usr/sbin:/bin:/usr/bin
+
+do_start() {
+	if [ -x /etc/rc.hdmi ]; then
+		echo -n "Running local boot scripts (/etc/rc.hdmi)"
+		/etc/rc.hdmi
+		[ $? = 0 ] && echo "." || echo "error"
+		return $ES
+	fi
+}
+
+case "$1" in
+    start)
+	do_start
+        ;;
+    restart|reload|force-reload)
+        echo "Error: argument '$1' not supported" >&2
+        exit 3
+        ;;
+    stop)
+        ;;
+    *)
+        echo "Usage: $0 start|stop" >&2
+        exit 3
+        ;;
+esac
diff --git a/recipes-graphics/xorg-driver/xserver-xorg-extension-viv-hdmi_3.10.17-1.0.0.bb b/recipes-graphics/xorg-driver/xserver-xorg-extension-viv-hdmi_3.10.17-1.0.0.bb
new file mode 100644
index 0000000..0f17507
--- /dev/null
+++ b/recipes-graphics/xorg-driver/xserver-xorg-extension-viv-hdmi_3.10.17-1.0.0.bb
@@ -0,0 +1,73 @@
+# Copyright (C) 2014 Freescale Semiconductor
+# Released under the MIT license (see COPYING.MIT for the terms)
+DESCRIPTION = "Freescale Extension for HDMI performance"
+LICENSE = "MIT-X"
+
+DEPENDS += "virtual/kernel xf86-video-imxfb-vivante"
+
+LIC_FILES_CHKSUM = "file://EXA/src/vivante_fbdev/vivante.h;endline=19;md5=641ac6e6d013833e36290797f4d7089c"
+
+SRC_URI = "${FSL_MIRROR}/xserver-xorg-video-imx-viv-${PV}.tar.gz \
+            file://rc.local.etc \
+            file://rc.local.init"
+
+S="${WORKDIR}/xserver-xorg-video-imx-viv-${PV}/"
+
+SRC_URI[md5sum] = "697d9a3fb244eb95eae4207bf2d9c321"
+SRC_URI[sha256sum] = "9178c6b721e55645bedf6d2cfaf836f5c6e2684673215358a6b6845c10a7a085"
+
+inherit update-rc.d autotools pkgconfig
+
+INITSCRIPT_NAME = "rc.hdmi"
+INITSCRIPT_PARAMS = "start 99 2 3 4 5 ."
+
+EXTRA_OEMAKE += "-C ${S}/util/autohdmi -f makefile.linux prefix=${D}/usr \
+                 sysroot=${STAGING_DIR_TARGET} \
+                 BUSID_HAS_NUMBER=1 \
+                 BUILD_IN_YOCTO=1 \
+                 XSERVER_GREATER_THAN_13=1"
+
+# FIXME: The Freescale provided Makefile has hardcodec include paths
+#        and this does not work in case prefix is different than /usr,
+#        sed it.
+do_configure_prepend () {
+    sed -i 's,$(sysroot)/usr/include,${STAGING_INCDIR},g' \
+            ${S}FslExt/src/makefile.linux
+}
+
+# FIXME: This is need as Freescale didn't use standard Makefile filename
+#        thus oe_runmame thinks nothing is need to be done, use ln to
+#        workaround it.
+base_do_compile () {
+    oe_runmake || die "make failed"
+}
+
+do_compile_append () {
+
+oe_runmake -C ${S}/FslExt/src 
+
+}
+
+do_install () {
+
+    install -d ${D}${libdir}
+    cp -axr ${S}/FslExt/src/libfsl_x11_ext.so ${D}${libdir}
+
+    install -d ${D}${exec_prefix}/sbin
+    cp -axr ${S}/util/autohdmi/autohdmi ${D}${exec_prefix}/sbin
+
+    install -d ${D}/${sysconfdir}/init.d
+    install -m 755 ${WORKDIR}/rc.local.init ${D}/${sysconfdir}/init.d/rc.hdmi
+    install -m 755 ${WORKDIR}/rc.local.etc ${D}/${sysconfdir}/rc.hdmi
+
+}
+
+RDEPENDS_${PN} = "xf86-video-imxfb-vivante"
+
+REALSOLIBS := "${SOLIBS}"
+SOLIBS = "${SOLIBSDEV}"
+
+FILES_${PN} = " ${libdir}/libfsl_x11_ext${SOLIBS} ${exec_prefix}/sbin/autohdmi ${sysconfdir}/init.d ${sysconfdir}/rc.hdmi"
+
+PACKAGE_ARCH = "${MACHINE_SOCARCH}"
+COMPATIBLE_MACHINE = "(mx6)"
-- 
1.7.9.5



More information about the meta-freescale mailing list