The gma500-gfx-check we used had a dependency to meta-poky via a bbappend file
this is unnacceptable, but this check is still needed on genericx86 and
intel-core2-32, so this patch makes copy of the gma500-gfx-check to meta-intel
to avoid the dependency issue

[YOCTO #9181]

Signed-off-by: Alejandro Hernandez <[email protected]>
---
 .../gma500-gfx-check/gma500-gfx-check.conf             |  2 ++
 .../gma500-gfx-check/gma500-gfx-check.sh               | 15 +++++++++++++++
 .../gma500-gfx-check/gma500-gfx-check_1.0.bb           | 18 ++++++++++++++++++
 .../gma500-gfx-check/gma500-gfx-check_1.0.bbappend     |  1 -
 4 files changed, 35 insertions(+), 1 deletion(-)
 create mode 100644 
common/recipes-bsp/gma500-gfx-check/gma500-gfx-check/gma500-gfx-check.conf
 create mode 100644 
common/recipes-bsp/gma500-gfx-check/gma500-gfx-check/gma500-gfx-check.sh
 create mode 100644 common/recipes-bsp/gma500-gfx-check/gma500-gfx-check_1.0.bb
 delete mode 100644 
common/recipes-bsp/gma500-gfx-check/gma500-gfx-check_1.0.bbappend

diff --git 
a/common/recipes-bsp/gma500-gfx-check/gma500-gfx-check/gma500-gfx-check.conf 
b/common/recipes-bsp/gma500-gfx-check/gma500-gfx-check/gma500-gfx-check.conf
new file mode 100644
index 0000000..74d33c8
--- /dev/null
+++ b/common/recipes-bsp/gma500-gfx-check/gma500-gfx-check/gma500-gfx-check.conf
@@ -0,0 +1,2 @@
+# Mimic modprobe's install funcitonality with busybox's modprobe
+install gma500_gfx dmesg | grep gma500_gfx_checked || { 
/etc/modprobe.d/gma500-gfx-check.sh || modprobe gma500_gfx; }
diff --git 
a/common/recipes-bsp/gma500-gfx-check/gma500-gfx-check/gma500-gfx-check.sh 
b/common/recipes-bsp/gma500-gfx-check/gma500-gfx-check/gma500-gfx-check.sh
new file mode 100644
index 0000000..75cda99
--- /dev/null
+++ b/common/recipes-bsp/gma500-gfx-check/gma500-gfx-check/gma500-gfx-check.sh
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+# Check for devices we wish to avoid gma500_gfx for
+DEVICES="0x8119 0x4108"
+
+# Checked flag to avoid infinite modprobe
+echo "gma500_gfx_checked" >> /dev/kmsg;
+
+for DEVICE in $DEVICES; do
+    if udevadm trigger --subsystem-match=pci --verbose 
--attr-match=device=$DEVICE | grep "pci" >> /dev/null ; then
+        echo "Found $DEVICE, avoiding gma500_gfx module" >> /dev/kmsg;
+        exit 0
+    fi
+done
+exit 1
diff --git a/common/recipes-bsp/gma500-gfx-check/gma500-gfx-check_1.0.bb 
b/common/recipes-bsp/gma500-gfx-check/gma500-gfx-check_1.0.bb
new file mode 100644
index 0000000..7b08064
--- /dev/null
+++ b/common/recipes-bsp/gma500-gfx-check/gma500-gfx-check_1.0.bb
@@ -0,0 +1,18 @@
+SUMMARY = "Intel gma500_gfx fix for certain hardware"
+DESCRIPTION = "Avoid inserting gma500_gfx module for certain hardware devices."
+LICENSE="GPLv2"
+LIC_FILES_CHKSUM = 
"file://${COREBASE}/meta/files/common-licenses/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6"
+
+SRC_URI = "file://gma500-gfx-check.conf \
+       file://gma500-gfx-check.sh "
+
+do_install(){
+    install -d ${D}${sysconfdir}/modprobe.d/
+    install -m 755 ${WORKDIR}/gma500-gfx-check.sh 
${D}${sysconfdir}/modprobe.d/gma500-gfx-check.sh
+    install -m 644 ${WORKDIR}/gma500-gfx-check.conf 
${D}${sysconfdir}/modprobe.d/gma500-gfx-check.conf
+}
+
+FILES_${PN}="${sysconfdir}/modprobe.d/gma500-gfx-check.conf \
+             ${sysconfdir}/modprobe.d/gma500-gfx-check.sh"
+
+COMPATIBLE_MACHINE = "intel-core2-32"
diff --git a/common/recipes-bsp/gma500-gfx-check/gma500-gfx-check_1.0.bbappend 
b/common/recipes-bsp/gma500-gfx-check/gma500-gfx-check_1.0.bbappend
deleted file mode 100644
index eb8a724..0000000
--- a/common/recipes-bsp/gma500-gfx-check/gma500-gfx-check_1.0.bbappend
+++ /dev/null
@@ -1 +0,0 @@
-COMPATIBLE_MACHINE = "intel-core2-32"
-- 
2.6.6

-- 
_______________________________________________
meta-intel mailing list
[email protected]
https://lists.yoctoproject.org/listinfo/meta-intel

Reply via email to