diff options
Diffstat (limited to 'recipes-bsp/gma500-gfx-check/gma500-gfx-check')
-rw-r--r-- | recipes-bsp/gma500-gfx-check/gma500-gfx-check/gma500-gfx-check.conf | 2 | ||||
-rw-r--r-- | recipes-bsp/gma500-gfx-check/gma500-gfx-check/gma500-gfx-check.sh | 15 |
2 files changed, 17 insertions, 0 deletions
diff --git a/recipes-bsp/gma500-gfx-check/gma500-gfx-check/gma500-gfx-check.conf b/recipes-bsp/gma500-gfx-check/gma500-gfx-check/gma500-gfx-check.conf new file mode 100644 index 00000000..74d33c87 --- /dev/null +++ b/recipes-bsp/gma500-gfx-check/gma500-gfx-check/gma500-gfx-check.conf | |||
@@ -0,0 +1,2 @@ | |||
1 | # Mimic modprobe's install funcitonality with busybox's modprobe | ||
2 | install gma500_gfx dmesg | grep gma500_gfx_checked || { /etc/modprobe.d/gma500-gfx-check.sh || modprobe gma500_gfx; } | ||
diff --git a/recipes-bsp/gma500-gfx-check/gma500-gfx-check/gma500-gfx-check.sh b/recipes-bsp/gma500-gfx-check/gma500-gfx-check/gma500-gfx-check.sh new file mode 100644 index 00000000..75cda99f --- /dev/null +++ b/recipes-bsp/gma500-gfx-check/gma500-gfx-check/gma500-gfx-check.sh | |||
@@ -0,0 +1,15 @@ | |||
1 | #!/bin/sh | ||
2 | |||
3 | # Check for devices we wish to avoid gma500_gfx for | ||
4 | DEVICES="0x8119 0x4108" | ||
5 | |||
6 | # Checked flag to avoid infinite modprobe | ||
7 | echo "gma500_gfx_checked" >> /dev/kmsg; | ||
8 | |||
9 | for DEVICE in $DEVICES; do | ||
10 | if udevadm trigger --subsystem-match=pci --verbose --attr-match=device=$DEVICE | grep "pci" >> /dev/null ; then | ||
11 | echo "Found $DEVICE, avoiding gma500_gfx module" >> /dev/kmsg; | ||
12 | exit 0 | ||
13 | fi | ||
14 | done | ||
15 | exit 1 | ||