aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Gall <tom.gall@linaro.org>2014-02-21 17:26:12 -0600
committerTom Gall <tom.gall@linaro.org>2014-02-21 17:30:07 -0600
commitde32da6aa3a9a54d3657067f7c683035be0e788a (patch)
tree8bce88be1e1232ae4152b2a1eb1a6d2d53ff6d90
parent5ff6cb920f8be9068a23f7bf0cb1b9a9ff1eda5b (diff)
Add recipe for xf86-video-armsoc, a generic DDX driver for ARM socs
Add xf86-video-armsoc aarch64 fixes
-rw-r--r--meta/recipes-graphics/xorg-driver/xf86-video-armsoc.bb27
-rw-r--r--meta/recipes-graphics/xorg-driver/xf86-video-armsoc/0001-aarch64-ptr-fixes.patch38
2 files changed, 65 insertions, 0 deletions
diff --git a/meta/recipes-graphics/xorg-driver/xf86-video-armsoc.bb b/meta/recipes-graphics/xorg-driver/xf86-video-armsoc.bb
new file mode 100644
index 000000000..9fbbca343
--- /dev/null
+++ b/meta/recipes-graphics/xorg-driver/xf86-video-armsoc.bb
@@ -0,0 +1,27 @@
+require xorg-driver-video.inc
+
+SUMMARY = "X.Org X server -- Generic DDX driver for ARM socs"
+
+DESCRIPTION = "Open-source X.org DDX graphics driver for ARM socs \
+For the following chipsets: \
+\
+NOTE: this driver is work in progress.. \
+"
+
+SRC_URI = "file://0001-aarch64-ptr-fixes.patch"
+
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://COPYING;md5=10ce5de3b111315ea652a5f74ec0c602"
+DEPENDS += "virtual/libx11 libdrm xf86driproto"
+
+SRCREV = "3516aa34c95e1c9eb0c33178988470ead7be7c67"
+PR = "${INC_PR}.3"
+PV = "0.6.0+git"
+
+SRC_URI = "git://git.linaro.org/arm/xorg/driver/xf86-video-armsoc.git \
+"
+
+S = "${WORKDIR}/git"
+
+CFLAGS += " -I${STAGING_INCDIR}/xorg "
+EXTRA_OECONF = " --with-drmmode=pl111 "
diff --git a/meta/recipes-graphics/xorg-driver/xf86-video-armsoc/0001-aarch64-ptr-fixes.patch b/meta/recipes-graphics/xorg-driver/xf86-video-armsoc/0001-aarch64-ptr-fixes.patch
new file mode 100644
index 000000000..cbeddf6da
--- /dev/null
+++ b/meta/recipes-graphics/xorg-driver/xf86-video-armsoc/0001-aarch64-ptr-fixes.patch
@@ -0,0 +1,38 @@
+Index: git/src/drmmode_display.c
+===================================================================
+--- git.orig/src/drmmode_display.c
++++ git/src/drmmode_display.c
+@@ -28,6 +28,8 @@
+ * Ian Elliott <ianelliottus@yahoo.com>
+ */
+
++#include <stdint.h>
++
+ #ifdef HAVE_CONFIG_H
+ #include "config.h"
+ #endif
+@@ -1807,7 +1809,7 @@ drmmode_uevent_fini(ScrnInfoPtr pScrn)
+ static void
+ drmmode_wakeup_handler(pointer data, int err, pointer p)
+ {
+- int fd = (int)data;
++ int fd = (int)(intptr_t)data;
+ fd_set *read_mask = p;
+
+ if (err < 0)
+@@ -1821,13 +1823,13 @@ void drmmode_init_wakeup_handler(int fd)
+ {
+ AddGeneralSocket(fd);
+ RegisterBlockAndWakeupHandlers((BlockHandlerProcPtr)NoopDDA,
+- drmmode_wakeup_handler, (pointer)fd);
++ drmmode_wakeup_handler, (pointer)(intptr_t)fd);
+ }
+
+ void drmmode_fini_wakeup_handler(int fd)
+ {
+ RemoveBlockAndWakeupHandlers((BlockHandlerProcPtr)NoopDDA,
+- drmmode_wakeup_handler, (pointer)fd);
++ drmmode_wakeup_handler, (pointer)(intptr_t)fd);
+ RemoveGeneralSocket(fd);
+ }
+