summaryrefslogtreecommitdiffstats
path: root/recipes-graphics
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-graphics')
-rw-r--r--recipes-graphics/amd-gpu-x11-bin/amd-gpu-bin-mx51_11.09.01.bb13
-rw-r--r--recipes-graphics/amd-gpu-x11-bin/amd-gpu-mx51.inc110
-rw-r--r--recipes-graphics/amd-gpu-x11-bin/amd-gpu-x11-bin-mx51_11.09.01.bb25
-rw-r--r--recipes-graphics/amd-gpu-x11-bin/files/egl.pc11
-rw-r--r--recipes-graphics/amd-gpu-x11-bin/files/fix-linux-build-check.patch54
-rw-r--r--recipes-graphics/amd-gpu-x11-bin/files/glesv2.pc11
-rw-r--r--recipes-graphics/amd-gpu-x11-bin/libz160_11.09.01.bb36
-rw-r--r--recipes-graphics/gtk+/gtk+3_%.bbappend1
-rw-r--r--recipes-graphics/mesa/mesa_%.bbappend3
-rw-r--r--recipes-graphics/xorg-driver/xf86-video-imxfb/Fix-error-unknown-type-name-uint.patch33
-rw-r--r--recipes-graphics/xorg-driver/xf86-video-imxfb/Make-video-API-forward-and-backward-compatible.patch787
-rw-r--r--recipes-graphics/xorg-driver/xf86-video-imxfb/ext-Update-to-newer-swap-macros.patch65
-rw-r--r--recipes-graphics/xorg-driver/xf86-video-imxfb/glibc-2.20.patch57
-rw-r--r--recipes-graphics/xorg-driver/xf86-video-imxfb/xf86-video-imxfb-fix-m4-hardcodded-paths.patch53
-rw-r--r--recipes-graphics/xorg-driver/xf86-video-imxfb/xserver-1.14-compat.patch34
-rw-r--r--recipes-graphics/xorg-driver/xf86-video-imxfb_11.09.01.bb48
16 files changed, 0 insertions, 1341 deletions
diff --git a/recipes-graphics/amd-gpu-x11-bin/amd-gpu-bin-mx51_11.09.01.bb b/recipes-graphics/amd-gpu-x11-bin/amd-gpu-bin-mx51_11.09.01.bb
deleted file mode 100644
index ecf38f2f..00000000
--- a/recipes-graphics/amd-gpu-x11-bin/amd-gpu-bin-mx51_11.09.01.bb
+++ /dev/null
@@ -1,13 +0,0 @@
1# Copyright (C) 2011, 2012 Freescale
2# Released under the MIT license (see COPYING.MIT for the terms)
3
4DESCRIPTION = "GPU driver and apps for frambuffer on mx51"
5
6include amd-gpu-mx51.inc
7
8SRC_URI[md5sum] = "9f9b5f67b595721a08793aae8bd8fc46"
9SRC_URI[sha256sum] = "f0db68a764b5fb199729e7435f606b8d12b61ca97990336c647b7e81f4a584d9"
10
11RCONFLICTS_${PN} = "amd-gpu-x11-bin-mx51"
12
13COMPATIBLE_MACHINE = "(mx5)"
diff --git a/recipes-graphics/amd-gpu-x11-bin/amd-gpu-mx51.inc b/recipes-graphics/amd-gpu-x11-bin/amd-gpu-mx51.inc
deleted file mode 100644
index 76c7bc43..00000000
--- a/recipes-graphics/amd-gpu-x11-bin/amd-gpu-mx51.inc
+++ /dev/null
@@ -1,110 +0,0 @@
1# Copyright (C) 2011, 2012, 2013 Freescale
2# Copyright (C) 2011-2015 O.S. Systems Software LTDA.
3# Released under the MIT license (see COPYING.MIT for the terms)
4
5LICENSE = "Proprietary"
6SECTION = "libs"
7
8# FIXME: Replace for correct AMD license
9LIC_FILES_CHKSUM = "file://usr/include/VG/openvg.h;endline=30;md5=b0109611dd76961057d4c45ae6519802"
10
11PROVIDES = "amd-gpu-mx51 virtual/egl virtual/libgles1 virtual/libgles2"
12
13SRC_URI = "${FSL_MIRROR}/${PN}-${PV}.bin;fsl-eula=true \
14 file://egl.pc \
15 file://glesv2.pc \
16 file://fix-linux-build-check.patch"
17
18inherit fsl-eula-unpack
19
20# For the packages that make up the OpenGL interfaces, inject variables so that
21# they don't get Debian-renamed (which would remove the -mx51 suffix).
22#
23# FIXME: All binaries lack GNU_HASH in elf binary but as we don't have
24# the source we cannot fix it. Disable the insane check for now.
25python __anonymous() {
26 for p in d.getVar('PACKAGES', True).split():
27 d.setVar("INSANE_SKIP_%s" % p, "ldflags")
28
29 for p in (("libegl", "libegl1"), ("libgl", "libgl1"),
30 ("libgles2", "libglesv2-2")):
31 fullp = p[0] + "-mx51"
32 pkgs = " ".join(p)
33 d.setVar("DEBIAN_NOAUTONAME_" + fullp, "1")
34 d.appendVar("RREPLACES_" + fullp, pkgs)
35 d.appendVar("RPROVIDES_" + fullp, pkgs)
36 d.appendVar("RCONFLICTS_" + fullp, pkgs)
37
38 # For -dev, the first element is both the Debian and original name
39 fullp += "-dev"
40 pkgs = p[0] + "-dev"
41 d.setVar("DEBIAN_NOAUTONAME_" + fullp, "1")
42 d.appendVar("RREPLACES_" + fullp, pkgs)
43 d.appendVar("RPROVIDES_" + fullp, pkgs)
44 d.appendVar("RCONFLICTS_" + fullp, pkgs)
45}
46
47do_install () {
48 install -d ${D}${libdir}
49 install -d ${D}${bindir}
50 install -d ${D}${includedir}
51
52 cp -Pr ${S}/usr/bin/* ${D}${bindir}
53 cp -Pr ${S}/usr/lib/* ${D}${libdir}
54 cp -Pr ${S}/usr/include/* ${D}${includedir}
55
56 find ${D}${bindir} -type f -exec chmod 755 {} \;
57 find ${D}${libdir} -type f -exec chmod 644 {} \;
58 find ${D}${includedir} -type f -exec chmod 644 {} \;
59
60 # FIXME: Fix sonames of broken libraries
61 mv ${D}${libdir}/lib2dz160.so ${D}${libdir}/lib2dz160.so.0
62 mv ${D}${libdir}/lib2dz430.so ${D}${libdir}/lib2dz430.so.0
63 ln -sf lib2dz160.so.0 ${D}${libdir}/lib2dz160.so
64 ln -sf lib2dz430.so.0 ${D}${libdir}/lib2dz430.so
65
66 # FIXME: Remove unknown files
67 rm -r ${D}${libdir}/libcsi.a \
68 ${D}${libdir}/libres.a
69
70 # FIXME: Add pkgconfig files
71 install -d ${D}${libdir}/pkgconfig
72 install -m 644 ${WORKDIR}/egl.pc ${D}${libdir}/pkgconfig
73 install -m 644 ${WORKDIR}/glesv2.pc ${D}${libdir}/pkgconfig
74}
75
76PACKAGES =+ "libgsl-fsl-mx51 libgsl-fsl-mx51-dev libgsl-fsl-mx51-dbg \
77 libegl-mx51 libegl-mx51-dev libegl-mx51-dbg \
78 libgles-mx51 libgles-mx51-dev libgles-mx51-dbg \
79 libgles2-mx51 libgles2-mx51-dev libgles2-mx51-dbg \
80 libopenvg-mx51 libopenvg-mx51-dev libopenvg-mx51-dbg \
81 lib2dz160-mx51 lib2dz160-mx51-dbg \
82 lib2dz430-mx51 lib2dz430-mx51-dbg"
83
84FILES_${PN}-dbg = "${bindir}/.debug/*"
85
86FILES_libgsl-fsl-mx51 = "${libdir}/libgsl-fsl${SOLIBS}"
87FILES_libgsl-fsl-mx51-dev = "${libdir}/libgsl-fsl${SOLIBSDEV}"
88FILES_libgsl-fsl-mx51-dbg = "${libdir}/.debug/libgsl-fsl${SOLIBS}"
89
90FILES_libegl-mx51 = "${libdir}/libEGL${SOLIBS}"
91FILES_libegl-mx51-dev = "${includedir}/EGL ${includedir}/KHR ${libdir}/libEGL${SOLIBSDEV}"
92FILES_libegl-mx51-dbg = "${libdir}/.debug/libEGL${SOLIBS}"
93
94FILES_libgles-mx51 = "${libdir}/libGLESv1*${SOLIBS}"
95FILES_libgles-mx51-dev = "${includedir}/GLES ${libdir}/libGLESv1*${SOLIBSDEV}"
96FILES_libgles-mx51-dbg = "${libdir}/.debug/libGLESv1*${SOLIBS}"
97
98FILES_libgles2-mx51 = "${libdir}/libGLESv2${SOLIBS}"
99FILES_libgles2-mx51-dev = "${includedir}/GLES2 ${libdir}/libGLESv2${SOLIBSDEV}"
100FILES_libgles2-mx51-dbg = "${libdir}/.debug/libGLESv2${SOLIBS}"
101
102FILES_libopenvg-mx51 = "${libdir}/libOpenVG${SOLIBS}"
103FILES_libopenvg-mx51-dev = "${includedir}/VG ${libdir}/libOpenVG${SOLIBSDEV}"
104FILES_libopenvg-mx51-dbg = "${libdir}/.debug/libOpenVG${SOLIBS}"
105
106FILES_lib2dz160-mx51 = "${libdir}/lib2dz160${SOLIBS}"
107FILES_lib2dz160-mx51-dbg = "${libdir}/.debug/lib2dz160${SOLIBS}"
108
109FILES_lib2dz430-mx51 = "${libdir}/lib2dz430${SOLIBS}"
110FILES_lib2dz430-mx51-dbg = "${libdir}/.debug/lib2dz430${SOLIBS}"
diff --git a/recipes-graphics/amd-gpu-x11-bin/amd-gpu-x11-bin-mx51_11.09.01.bb b/recipes-graphics/amd-gpu-x11-bin/amd-gpu-x11-bin-mx51_11.09.01.bb
deleted file mode 100644
index 7fc351b0..00000000
--- a/recipes-graphics/amd-gpu-x11-bin/amd-gpu-x11-bin-mx51_11.09.01.bb
+++ /dev/null
@@ -1,25 +0,0 @@
1# Copyright (C) 2011-2015 O.S. Systems Software LTDA.
2# Copyright (C) 2011, 2012 Freescale
3# Released under the MIT license (see COPYING.MIT for the terms)
4
5DESCRIPTION = "GPU driver and apps for x11 on mx51"
6PR = "r12"
7
8# FIXME: Replace for correct AMD license
9LIC_FILES_CHKSUM = "file://usr/include/VG/openvg.h;endline=30;md5=b0109611dd76961057d4c45ae6519802"
10DEPENDS = "virtual/libx11 libxrender libxext"
11
12include amd-gpu-mx51.inc
13
14SRC_URI[md5sum] = "54391a4e670b597d06d01253fb217cad"
15SRC_URI[sha256sum] = "c7a6fa03b7aa2a375556c59908876554ba720c1e744baba2debb84a408f790db"
16
17RCONFLICTS_${PN} = "amd-gpu-bin-mx51"
18
19COMPATIBLE_MACHINE = "${@base_contains('DISTRO_FEATURES', 'x11', '(mx5)', 'Invalid!', d)}"
20
21do_install_append() {
22 # eglplatform_1.4.h contains X11 compatible headers
23 rm ${D}${includedir}/EGL/eglplatform.h
24 mv ${D}${includedir}/EGL/eglplatform_1.4.h ${D}${includedir}/EGL/eglplatform.h
25}
diff --git a/recipes-graphics/amd-gpu-x11-bin/files/egl.pc b/recipes-graphics/amd-gpu-x11-bin/files/egl.pc
deleted file mode 100644
index 3d2ab5db..00000000
--- a/recipes-graphics/amd-gpu-x11-bin/files/egl.pc
+++ /dev/null
@@ -1,11 +0,0 @@
1prefix=/usr
2exec_prefix=${prefix}
3libdir=/usr/lib
4includedir=/usr/include
5
6Name: egl
7Description: AMD EGL library
8Requires.private:
9Version: 8.0
10Libs: -L${libdir} -lEGL
11Cflags: -I${includedir}
diff --git a/recipes-graphics/amd-gpu-x11-bin/files/fix-linux-build-check.patch b/recipes-graphics/amd-gpu-x11-bin/files/fix-linux-build-check.patch
deleted file mode 100644
index 946bfac7..00000000
--- a/recipes-graphics/amd-gpu-x11-bin/files/fix-linux-build-check.patch
+++ /dev/null
@@ -1,54 +0,0 @@
1diff -Nur amd-gpu-x11-bin-mx51-11.09.01.orig/usr/include/EGL/eglext.h amd-gpu-x11-bin-mx51-11.09.01/usr/include/EGL/eglext.h
2--- amd-gpu-x11-bin-mx51-11.09.01.orig/usr/include/EGL/eglext.h 2012-08-18 12:43:19.431788396 -0300
3+++ amd-gpu-x11-bin-mx51-11.09.01/usr/include/EGL/eglext.h 2012-08-18 12:43:50.799909873 -0300
4@@ -164,11 +164,11 @@
5 * nanoseconds (unadjusted standard time). Here, it is defined as
6 * appropriate for an ISO C compiler.
7 */
8-#ifndef _LINUX
9+#ifndef __linux__
10 typedef uint64_t EGLTimeKHR;
11-#else // _LINUX
12+#else // __linux__
13 typedef unsigned long long EGLTimeKHR;
14-#endif // _LINUX
15+#endif // __linux__
16
17 #define EGL_SYNC_PRIOR_COMMANDS_COMPLETE_KHR 0xFFF8
18 #define EGL_SYNC_STATUS_KHR 0xFFF7
19diff -Nur amd-gpu-x11-bin-mx51-11.09.01.orig/usr/include/EGL/eglfslext.h amd-gpu-x11-bin-mx51-11.09.01/usr/include/EGL/eglfslext.h
20--- amd-gpu-x11-bin-mx51-11.09.01.orig/usr/include/EGL/eglfslext.h 2012-08-18 12:43:19.431788396 -0300
21+++ amd-gpu-x11-bin-mx51-11.09.01/usr/include/EGL/eglfslext.h 2012-08-18 12:43:50.759785714 -0300
22@@ -65,7 +65,7 @@
23 } eglYUVInfo;
24 #endif
25
26-#ifdef _LINUX
27+#ifdef __linux__
28 struct EGLImageInfoFSL
29 {
30 void *mem_virt[3]; //virtual addresses for Y/U/V planes
31diff -Nur amd-gpu-x11-bin-mx51-11.09.01.orig/usr/include/VG/ext.h amd-gpu-x11-bin-mx51-11.09.01/usr/include/VG/ext.h
32--- amd-gpu-x11-bin-mx51-11.09.01.orig/usr/include/VG/ext.h 2012-08-18 12:43:19.431788396 -0300
33+++ amd-gpu-x11-bin-mx51-11.09.01/usr/include/VG/ext.h 2012-08-18 12:43:50.799909873 -0300
34@@ -15,7 +15,7 @@
35 extern "C" {
36 #endif
37
38-#ifndef _LINUX
39+#ifndef __linux__
40 #include <VG/openvg.h>
41 #else
42 #include "openvg.h"
43diff -Nur amd-gpu-x11-bin-mx51-11.09.01.orig/usr/include/VG/openvg.h amd-gpu-x11-bin-mx51-11.09.01/usr/include/VG/openvg.h
44--- amd-gpu-x11-bin-mx51-11.09.01.orig/usr/include/VG/openvg.h 2012-08-18 12:43:19.431788396 -0300
45+++ amd-gpu-x11-bin-mx51-11.09.01/usr/include/VG/openvg.h 2012-08-18 12:43:50.799909873 -0300
46@@ -449,7 +449,7 @@
47 # endif
48 # elif defined(__APPLE__)
49 # define VG_API_CALL extern
50-# elif defined(_LINUX)
51+# elif defined(__linux__)
52 # if defined (OPENVG_DLL_EXPORTS)
53 # define VG_API_CALL extern
54 # else
diff --git a/recipes-graphics/amd-gpu-x11-bin/files/glesv2.pc b/recipes-graphics/amd-gpu-x11-bin/files/glesv2.pc
deleted file mode 100644
index 62e1cb65..00000000
--- a/recipes-graphics/amd-gpu-x11-bin/files/glesv2.pc
+++ /dev/null
@@ -1,11 +0,0 @@
1prefix=/usr
2exec_prefix=${prefix}
3libdir=/usr/lib
4includedir=/usr/include
5
6Name: glesv2
7Description: AMD OpenGL ES 2.0 library
8Requires.private:
9Version: 8.0
10Libs: -L${libdir} -lGLESv2 -lEGL
11Cflags: -I${includedir}
diff --git a/recipes-graphics/amd-gpu-x11-bin/libz160_11.09.01.bb b/recipes-graphics/amd-gpu-x11-bin/libz160_11.09.01.bb
deleted file mode 100644
index 43b9f7ff..00000000
--- a/recipes-graphics/amd-gpu-x11-bin/libz160_11.09.01.bb
+++ /dev/null
@@ -1,36 +0,0 @@
1# Copyright (C) 2011-2015 O.S. Systems Software LTDA.
2# Copyright (C) 2011, 2012 Freescale
3# Released under the MIT license (see COPYING.MIT for the terms)
4
5DESCRIPTION = "AMD libz160 gpu driver"
6LICENSE = "Proprietary"
7SECTION = "libs"
8DEPENDS = "amd-gpu-mx51"
9
10PR = "r2"
11
12#todo: Replace for correct AMD license
13LIC_FILES_CHKSUM = "file://usr/include/z160.h;endline=28;md5=65dd44cd769091092f38e34cd52cc271"
14
15SRC_URI = "${FSL_MIRROR}/libz160-bin-${PV}.bin;fsl-eula=true"
16SRC_URI[md5sum] = "9a9c2c93f4b44e89316772d348eead7d"
17SRC_URI[sha256sum] = "08767eb269a0a30ca0aa3d3b5aa9a53a2d17ed1c24651b7e8cefc7704b883f19"
18
19inherit fsl-eula-unpack
20
21do_install () {
22 install -d ${D}${libdir}
23 install -d ${D}${includedir}
24 install -m 0755 ${S}/usr/lib/* ${D}${libdir}
25 install -m 0644 ${S}/usr/include/* ${D}${includedir}
26}
27
28S = "${WORKDIR}/${PN}-bin-${PV}"
29
30# Avoid QA Issue: No GNU_HASH in the elf binary
31INSANE_SKIP_${PN} = "ldflags"
32INSANE_SKIP_${PN}-dev = "ldflags"
33FILES_${PN} = "${libdir}/*.so"
34FILES_${PN}-dev = "${includedir}"
35
36COMPATIBLE_MACHINE = "(mx5)"
diff --git a/recipes-graphics/gtk+/gtk+3_%.bbappend b/recipes-graphics/gtk+/gtk+3_%.bbappend
index 7891e1cb..3799f714 100644
--- a/recipes-graphics/gtk+/gtk+3_%.bbappend
+++ b/recipes-graphics/gtk+/gtk+3_%.bbappend
@@ -1,2 +1 @@
1PACKAGECONFIG_remove_mx5 = "${@base_contains("DISTRO_FEATURES", "x11", "wayland", "", d)}"
2PACKAGECONFIG_remove_mx6 = "${@base_contains("DISTRO_FEATURES", "x11", "wayland", "", d)}" PACKAGECONFIG_remove_mx6 = "${@base_contains("DISTRO_FEATURES", "x11", "wayland", "", d)}"
diff --git a/recipes-graphics/mesa/mesa_%.bbappend b/recipes-graphics/mesa/mesa_%.bbappend
index 674df7c3..66913e17 100644
--- a/recipes-graphics/mesa/mesa_%.bbappend
+++ b/recipes-graphics/mesa/mesa_%.bbappend
@@ -1,6 +1,3 @@
1PACKAGECONFIG_remove_mx5 = "egl gles"
2PROVIDES_remove_mx5 = "virtual/libgles1 virtual/libgles2 virtual/libopenvg virtual/egl"
3
4PACKAGECONFIG_remove_mx6q = "egl gles" 1PACKAGECONFIG_remove_mx6q = "egl gles"
5PACKAGECONFIG_remove_mx6dl = "egl gles" 2PACKAGECONFIG_remove_mx6dl = "egl gles"
6PACKAGECONFIG_remove_mx6sx = "egl gles" 3PACKAGECONFIG_remove_mx6sx = "egl gles"
diff --git a/recipes-graphics/xorg-driver/xf86-video-imxfb/Fix-error-unknown-type-name-uint.patch b/recipes-graphics/xorg-driver/xf86-video-imxfb/Fix-error-unknown-type-name-uint.patch
deleted file mode 100644
index 6a2fcdf4..00000000
--- a/recipes-graphics/xorg-driver/xf86-video-imxfb/Fix-error-unknown-type-name-uint.patch
+++ /dev/null
@@ -1,33 +0,0 @@
1From ccdfce5e75ba707deacdd5808a8f3de8744848d0 Mon Sep 17 00:00:00 2001
2From: =?UTF-8?q?Eric=20B=C3=A9nard?= <eric@eukrea.com>
3Date: Tue, 5 Feb 2013 10:57:47 +0100
4Subject: [PATCH] Fix "error: unknown type name 'uint'"
5MIME-Version: 1.0
6Content-Type: text/plain; charset=UTF-8
7Content-Transfer-Encoding: 8bit
8
9In file included from imx_driver.c:33:0:
10.../sysroots/imx53qsb/usr/src/kernel/include/linux/mxcfb.h:107:2: error: unknown type name 'uint'
11
12Upstream-Status: Pending
13
14Signed-off-by: Eric Bénard <eric@eukrea.com>
15---
16 src/imx_driver.c | 1 +
17 1 file changed, 1 insertion(+)
18
19diff --git a/src/imx_driver.c b/src/imx_driver.c
20index f4b3e38..4cf662d 100644
21--- a/src/imx_driver.c
22+++ b/src/imx_driver.c
23@@ -29,6 +29,7 @@
24 #include <errno.h>
25 #include <fcntl.h>
26 #include <string.h>
27+#include <sys/types.h>
28 #include <linux/fb.h>
29 #include <linux/mxcfb.h>
30
31--
321.7.10.4
33
diff --git a/recipes-graphics/xorg-driver/xf86-video-imxfb/Make-video-API-forward-and-backward-compatible.patch b/recipes-graphics/xorg-driver/xf86-video-imxfb/Make-video-API-forward-and-backward-compatible.patch
deleted file mode 100644
index 2ac6311f..00000000
--- a/recipes-graphics/xorg-driver/xf86-video-imxfb/Make-video-API-forward-and-backward-compatible.patch
+++ /dev/null
@@ -1,787 +0,0 @@
1From 5216cb0f14414b5451f58df48a36c1c62c035276 Mon Sep 17 00:00:00 2001
2From: Otavio Salvador <otavio@ossystems.com.br>
3Date: Sat, 29 Dec 2012 18:02:11 -0200
4Subject: [PATCH] Make video API forward and backward compatible
5
6This updates the video API in a forward and backward compatible way
7using the "compat-api.h" as used in Xorg maintained drivers.
8
9Upstream-Status: Pending
10
11Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
12---
13 src/compat-api.h | 106 +++++++++++++++++++++++++++++++++++++++++++++++
14 src/imx_display.c | 22 +++++-----
15 src/imx_display.h | 8 ++--
16 src/imx_driver.c | 60 ++++++++++++++-------------
17 src/imx_exa_offscreen.c | 12 +++---
18 src/imx_exa_z160.c | 53 ++++++++++++------------
19 src/imx_xv_ipu.c | 4 +-
20 7 files changed, 188 insertions(+), 77 deletions(-)
21 create mode 100644 src/compat-api.h
22
23diff --git a/src/compat-api.h b/src/compat-api.h
24new file mode 100644
25index 0000000..73ac8a2
26--- /dev/null
27+++ b/src/compat-api.h
28@@ -0,0 +1,106 @@
29+/*
30+ * Copyright 2012 Red Hat, Inc.
31+ *
32+ * Permission is hereby granted, free of charge, to any person obtaining a
33+ * copy of this software and associated documentation files (the "Software"),
34+ * to deal in the Software without restriction, including without limitation
35+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
36+ * and/or sell copies of the Software, and to permit persons to whom the
37+ * Software is furnished to do so, subject to the following conditions:
38+ *
39+ * The above copyright notice and this permission notice (including the next
40+ * paragraph) shall be included in all copies or substantial portions of the
41+ * Software.
42+ *
43+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
44+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
45+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
46+ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
47+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
48+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
49+ * DEALINGS IN THE SOFTWARE.
50+ *
51+ * Author: Dave Airlie <airlied@redhat.com>
52+ */
53+
54+/* this file provides API compat between server post 1.13 and pre it,
55+ it should be reused inside as many drivers as possible */
56+#ifndef COMPAT_API_H
57+#define COMPAT_API_H
58+
59+#ifndef GLYPH_HAS_GLYPH_PICTURE_ACCESSOR
60+#define GetGlyphPicture(g, s) GlyphPicture((g))[(s)->myNum]
61+#define SetGlyphPicture(g, s, p) GlyphPicture((g))[(s)->myNum] = p
62+#endif
63+
64+#ifndef XF86_HAS_SCRN_CONV
65+#define xf86ScreenToScrn(s) xf86Screens[(s)->myNum]
66+#define xf86ScrnToScreen(s) screenInfo.screens[(s)->scrnIndex]
67+#endif
68+
69+#ifndef XF86_SCRN_INTERFACE
70+
71+#define SCRN_ARG_TYPE int
72+#define SCRN_INFO_PTR(arg1) ScrnInfoPtr pScrn = xf86Screens[(arg1)]
73+
74+#define SCREEN_ARG_TYPE int
75+#define SCREEN_PTR(arg1) ScreenPtr pScreen = screenInfo.screens[(arg1)]
76+
77+#define SCREEN_INIT_ARGS_DECL int index, ScreenPtr pScreen, int argc, char **argv
78+
79+#define BLOCKHANDLER_ARGS_DECL int arg, pointer blockData, pointer pTimeout, pointer pReadmask
80+#define BLOCKHANDLER_ARGS arg, blockData, pTimeout, pReadmask
81+
82+#define CLOSE_SCREEN_ARGS_DECL int scrnIndex, ScreenPtr pScreen
83+#define CLOSE_SCREEN_ARGS scrnIndex, pScreen
84+#define CLOSE_SCREEN_DECL_ScrnInfoPtr ScrnInfoPtr pScrn = xf86Screens[scrnIndex];
85+
86+#define FBDEVHWADJUSTFRAME_ARGS(x, y) scrnIndex, (x), (y), 0
87+
88+#define ADJUST_FRAME_ARGS_DECL int arg, int x, int y, int flags
89+
90+#define SWITCH_MODE_ARGS_DECL int arg, DisplayModePtr mode, int flags
91+
92+#define FREE_SCREEN_ARGS_DECL int arg, int flags
93+#define FREE_SCREEN_ARGS(x) (x)->scrnIndex, 0
94+
95+#define VT_FUNC_ARGS_DECL int arg, int flags
96+#define VT_FUNC_ARGS(flags) pScrn->scrnIndex, (flags)
97+
98+#define ENABLE_DISABLE_FB_ACCESS_ARGS(pScrn, b) pScrn->scrnIndex, b
99+
100+#define XF86_ENABLEDISABLEFB_ARG(x) ((x)->scrnIndex)
101+#else
102+#define SCRN_ARG_TYPE ScrnInfoPtr
103+#define SCRN_INFO_PTR(arg1) ScrnInfoPtr pScrn = (arg1)
104+
105+#define SCREEN_ARG_TYPE ScreenPtr
106+#define SCREEN_PTR(arg1) ScreenPtr pScreen = (arg1)
107+
108+#define SCREEN_INIT_ARGS_DECL ScreenPtr pScreen, int argc, char **argv
109+
110+#define BLOCKHANDLER_ARGS_DECL ScreenPtr arg, pointer pTimeout, pointer pReadmask
111+#define BLOCKHANDLER_ARGS arg, pTimeout, pReadmask
112+
113+#define CLOSE_SCREEN_ARGS_DECL ScreenPtr pScreen
114+#define CLOSE_SCREEN_ARGS pScreen
115+#define CLOSE_SCREEN_DECL_ScrnInfoPtr ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
116+
117+#define FBDEVHWADJUSTFRAME_ARGS(x, y) pScrn, (x), (y)
118+
119+#define ADJUST_FRAME_ARGS_DECL ScrnInfoPtr arg, int x, int y
120+#define SWITCH_MODE_ARGS_DECL ScrnInfoPtr arg, DisplayModePtr mode
121+
122+#define FREE_SCREEN_ARGS_DECL ScrnInfoPtr arg
123+#define FREE_SCREEN_ARGS(x) (x)
124+
125+#define VT_FUNC_ARGS_DECL ScrnInfoPtr arg
126+#define VT_FUNC_ARGS(flags) pScrn
127+
128+#define ENABLE_DISABLE_FB_ACCESS_ARGS(pScrn, b) pScrn, b
129+
130+#define XF86_ENABLEDISABLEFB_ARG(x) (x)
131+
132+#endif
133+
134+#endif
135diff --git a/src/imx_display.c b/src/imx_display.c
136index fcb8195..e2dc36a 100644
137--- a/src/imx_display.c
138+++ b/src/imx_display.c
139@@ -42,6 +42,8 @@
140 #include "imx.h"
141 #include "imx_display.h"
142
143+#include "compat-api.h"
144+
145 #include <X11/Xatom.h>
146
147 #if XORG_VERSION_CURRENT >= XORG_VERSION_NUMERIC(1,7,6,0,0)
148@@ -1373,19 +1375,19 @@ imxDisplayPreInit(ScrnInfoPtr pScrn)
149 Bool
150 imxDisplayStartScreenInit(int scrnIndex, ScreenPtr pScreen)
151 {
152- ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
153+ ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
154 ImxPtr fPtr = IMXPTR(pScrn);
155
156 if (!xf86SetDesiredModes(pScrn)) {
157
158- xf86DrvMsg(scrnIndex, X_ERROR, "mode initialization failed\n");
159+ xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "mode initialization failed\n");
160 return FALSE;
161 }
162
163 #if 0
164 if (!fbdevHWModeInit(pScrn, pScrn->currentMode)) {
165
166- xf86DrvMsg(scrnIndex, X_ERROR, "mode initialization failed\n");
167+ xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "mode initialization failed\n");
168 return FALSE;
169 }
170 pScrn->displayWidth =
171@@ -1463,29 +1465,29 @@ imxDisplayFinishScreenInit(int scrnIndex, ScreenPtr pScreen)
172 /* -------------------------------------------------------------------- */
173
174 Bool
175-imxDisplaySwitchMode(int scrnIndex, DisplayModePtr mode, int flags)
176+imxDisplaySwitchMode(SWITCH_MODE_ARGS_DECL)
177 {
178- ScrnInfoPtr pScrn = xf86Screens[scrnIndex];
179+ SCRN_INFO_PTR(arg);
180
181 return xf86SetSingleMode(pScrn, mode, RR_Rotate_0);
182 }
183
184 void
185-imxDisplayAdjustFrame(int scrnIndex, int x, int y, int flags)
186+imxDisplayAdjustFrame(ADJUST_FRAME_ARGS_DECL)
187 {
188-// fbdevHWAdjustFrame(scrnIndex, x, y, flags);
189+// fbdevHWAdjustFrame(pScrn->scrnIndex, x, y, flags);
190 }
191
192 Bool
193-imxDisplayEnterVT(int scrnIndex, int flags)
194+imxDisplayEnterVT(VT_FUNC_ARGS_DECL)
195 {
196- ScrnInfoPtr pScrn = xf86Screens[scrnIndex];
197+ SCRN_INFO_PTR(arg);
198
199 return xf86SetDesiredModes(pScrn);
200 }
201
202 void
203-imxDisplayLeaveVT(int scrnIndex, int flags)
204+imxDisplayLeaveVT(VT_FUNC_ARGS_DECL)
205 {
206 }
207
208diff --git a/src/imx_display.h b/src/imx_display.h
209index 4a5d5aa..3a3d43a 100644
210--- a/src/imx_display.h
211+++ b/src/imx_display.h
212@@ -59,16 +59,16 @@ imxDisplayValidMode(int scrnIndex, DisplayModePtr mode,
213 Bool verbose, int flags);
214
215 extern Bool
216-imxDisplaySwitchMode(int scrnIndex, DisplayModePtr mode, int flags);
217+imxDisplaySwitchMode(SWITCH_MODE_ARGS_DECL);
218
219 extern void
220-imxDisplayAdjustFrame(int scrnIndex, int x, int y, int flags);
221+imxDisplayAdjustFrame(ADJUST_FRAME_ARGS_DECL);
222
223 extern Bool
224-imxDisplayEnterVT(int scrnIndex, int flags);
225+imxDisplayEnterVT(VT_FUNC_ARGS_DECL);
226
227 extern void
228-imxDisplayLeaveVT(int scrnIndex, int flags);
229+imxDisplayLeaveVT(VT_FUNC_ARGS_DECL);
230
231 extern Bool
232 imxDisplayChangeFrameBufferRotateEPDC(int scrnIndex, int fbRotate);
233diff --git a/src/imx_driver.c b/src/imx_driver.c
234index 178e36e..f4b3e38 100644
235--- a/src/imx_driver.c
236+++ b/src/imx_driver.c
237@@ -46,6 +46,8 @@
238 #include "fb.h"
239 #include "fbdevhw.h"
240
241+#include "compat-api.h"
242+
243 #if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 6
244 #include "xf86Resources.h"
245 #include "xf86RAC.h"
246@@ -435,17 +437,17 @@ errorPreInit:
247 }
248
249 static void
250-imxFreeScreen(int scrnIndex, int flags)
251+imxFreeScreen(FREE_SCREEN_ARGS_DECL)
252 {
253- ScrnInfoPtr pScrn = xf86Screens[scrnIndex];
254+ SCRN_INFO_PTR(arg);
255
256 imxFreeRec(pScrn);
257 }
258
259 static Bool
260-imxCloseScreen(int scrnIndex, ScreenPtr pScreen)
261+imxCloseScreen(CLOSE_SCREEN_ARGS_DECL)
262 {
263- ScrnInfoPtr pScrn = xf86Screens[scrnIndex];
264+ CLOSE_SCREEN_DECL_ScrnInfoPtr;
265 ImxPtr fPtr = IMXPTR(pScrn);
266
267 fbdevHWRestore(pScrn);
268@@ -453,7 +455,7 @@ imxCloseScreen(int scrnIndex, ScreenPtr pScreen)
269 pScrn->vtSema = FALSE;
270
271 pScreen->CloseScreen = fPtr->saveCloseScreen;
272- return (*pScreen->CloseScreen)(scrnIndex, pScreen);
273+ return (*pScreen->CloseScreen)(CLOSE_SCREEN_ARGS);
274 }
275
276 static int
277@@ -488,9 +490,9 @@ LCM(a, b)
278 }
279
280 static Bool
281-imxScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
282+imxScreenInit(SCREEN_INIT_ARGS_DECL)
283 {
284- ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
285+ ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
286 ImxPtr fPtr = IMXPTR(pScrn);
287 VisualPtr visual;
288 int init_picture = 0;
289@@ -514,7 +516,7 @@ imxScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
290 /* Map frame buffer memory */
291 fPtr->fbMemoryBase = fbdevHWMapVidmem(pScrn);
292 if (NULL == fPtr->fbMemoryBase) {
293- xf86DrvMsg(scrnIndex,X_ERROR,"mapping of video memory"
294+ xf86DrvMsg(pScrn->scrnIndex,X_ERROR,"mapping of video memory"
295 " failed\n");
296 return FALSE;
297 }
298@@ -558,7 +560,7 @@ imxScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
299 const int fbOffsetScreen2 =
300 IMX_ALIGN(fbMaxScreenSize, fbMaxAlignOffset);
301 fPtr->fbMemoryScreenReserve = fbMaxScreenSize;
302- xf86DrvMsg(scrnIndex, X_INFO,
303+ xf86DrvMsg(pScrn->scrnIndex, X_INFO,
304 "reserve %d bytes of frame buffer for screen\n",
305 fPtr->fbMemoryScreenReserve);
306 fPtr->fbMemoryStart2 = NULL;
307@@ -568,12 +570,12 @@ imxScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
308
309 fPtr->fbMemoryScreenReserve += fbOffsetScreen2;
310
311- xf86DrvMsg(scrnIndex, X_INFO,
312+ xf86DrvMsg(pScrn->scrnIndex, X_INFO,
313 "reserve same number of bytes for XRandR rotated screen at offset %d\n",
314 fbOffsetScreen2);
315 }
316
317- if (!imxDisplayStartScreenInit(scrnIndex, pScreen)) {
318+ if (!imxDisplayStartScreenInit(pScrn->scrnIndex, pScreen)) {
319
320 return FALSE;
321 }
322@@ -582,7 +584,7 @@ imxScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
323 miClearVisualTypes();
324 if (pScrn->bitsPerPixel > 8) {
325 if (!miSetVisualTypes(pScrn->depth, TrueColorMask, pScrn->rgbBits, TrueColor)) {
326- xf86DrvMsg(scrnIndex,X_ERROR,"visual type setup failed"
327+ xf86DrvMsg(pScrn->scrnIndex,X_ERROR,"visual type setup failed"
328 " for %d bits per pixel [1]\n",
329 pScrn->bitsPerPixel);
330 return FALSE;
331@@ -591,14 +593,14 @@ imxScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
332 if (!miSetVisualTypes(pScrn->depth,
333 miGetDefaultVisualMask(pScrn->depth),
334 pScrn->rgbBits, pScrn->defaultVisual)) {
335- xf86DrvMsg(scrnIndex,X_ERROR,"visual type setup failed"
336+ xf86DrvMsg(pScrn->scrnIndex,X_ERROR,"visual type setup failed"
337 " for %d bits per pixel [2]\n",
338 pScrn->bitsPerPixel);
339 return FALSE;
340 }
341 }
342 if (!miSetPixmapDepths()) {
343- xf86DrvMsg(scrnIndex,X_ERROR,"pixmap depth setup failed\n");
344+ xf86DrvMsg(pScrn->scrnIndex,X_ERROR,"pixmap depth setup failed\n");
345 return FALSE;
346 }
347
348@@ -607,10 +609,10 @@ imxScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
349 has a padding which is independent from the depth (controlfb) */
350 pScrn->displayWidth = fbdevHWGetLineLength(pScrn) /
351 (pScrn->bitsPerPixel / 8);
352- xf86DrvMsg(scrnIndex, X_INFO, "displayWidth = %d\n", pScrn->displayWidth);
353+ xf86DrvMsg(pScrn->scrnIndex, X_INFO, "displayWidth = %d\n", pScrn->displayWidth);
354
355 if (pScrn->displayWidth != pScrn->virtualX) {
356- xf86DrvMsg(scrnIndex, X_INFO,
357+ xf86DrvMsg(pScrn->scrnIndex, X_INFO,
358 "Pitch updated to %d after ModeInit\n",
359 pScrn->displayWidth);
360 }
361@@ -633,7 +635,7 @@ imxScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
362 init_picture = 1;
363 break;
364 default:
365- xf86DrvMsg(scrnIndex, X_ERROR,
366+ xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
367 "internal error: invalid number of bits per"
368 " pixel (%d) encountered in"
369 " imxScreenInit()\n", pScrn->bitsPerPixel);
370@@ -644,7 +646,7 @@ imxScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
371 case FBDEVHW_INTERLEAVED_PLANES:
372 /* This should never happen ...
373 * we should check for this much much earlier ... */
374- xf86DrvMsg(scrnIndex, X_ERROR,
375+ xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
376 "internal error: interleaved planes are not yet "
377 "supported by the imx driver\n");
378 ret = FALSE;
379@@ -652,20 +654,20 @@ imxScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
380 case FBDEVHW_TEXT:
381 /* This should never happen ...
382 * we should check for this much much earlier ... */
383- xf86DrvMsg(scrnIndex, X_ERROR,
384+ xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
385 "internal error: text mode is not supported by the "
386 "imx driver\n");
387 ret = FALSE;
388 break;
389 case FBDEVHW_VGA_PLANES:
390 /* Not supported yet */
391- xf86DrvMsg(scrnIndex, X_ERROR,
392+ xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
393 "internal error: EGA/VGA Planes are not yet "
394 "supported by the imx driver\n");
395 ret = FALSE;
396 break;
397 default:
398- xf86DrvMsg(scrnIndex, X_ERROR,
399+ xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
400 "internal error: unrecognised hardware type (%d) "
401 "encountered in imxScreenInit()\n", type);
402 ret = FALSE;
403@@ -699,7 +701,7 @@ imxScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
404 /* INIT ACCELERATION BEFORE INIT FOR BACKING STORE & SOFTWARE CURSOR */
405 if (fPtr->useAccel) {
406
407- if (!imxExaZ160Setup(scrnIndex, pScreen)) {
408+ if (!imxExaZ160Setup(pScrn->scrnIndex, pScreen)) {
409
410 fPtr->useAccel = FALSE;
411 }
412@@ -731,29 +733,29 @@ imxScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
413 /* XXX It would be simpler to use miCreateDefColormap() in all cases. */
414 case FBDEVHW_PACKED_PIXELS:
415 if (!miCreateDefColormap(pScreen)) {
416- xf86DrvMsg(scrnIndex, X_ERROR,
417+ xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
418 "internal error: miCreateDefColormap failed "
419 "in imxScreenInit()\n");
420 return FALSE;
421 }
422 break;
423 case FBDEVHW_INTERLEAVED_PLANES:
424- xf86DrvMsg(scrnIndex, X_ERROR,
425+ xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
426 "internal error: interleaved planes are not yet "
427 "supported by the imx driver\n");
428 return FALSE;
429 case FBDEVHW_TEXT:
430- xf86DrvMsg(scrnIndex, X_ERROR,
431+ xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
432 "internal error: text mode is not supported by "
433 "the imx driver\n");
434 return FALSE;
435 case FBDEVHW_VGA_PLANES:
436- xf86DrvMsg(scrnIndex, X_ERROR,
437+ xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
438 "internal error: EGA/VGA planes are not yet "
439 "supported by the imx driver\n");
440 return FALSE;
441 default:
442- xf86DrvMsg(scrnIndex, X_ERROR,
443+ xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
444 "internal error: unrecognised imx hardware type "
445 "(%d) encountered in imxScreenInit()\n", type);
446 return FALSE;
447@@ -782,7 +784,7 @@ imxScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
448 }
449 #endif
450
451- if (!imxDisplayFinishScreenInit(scrnIndex, pScreen)) {
452+ if (!imxDisplayFinishScreenInit(pScrn->scrnIndex, pScreen)) {
453 return FALSE;
454 }
455
456@@ -810,7 +812,7 @@ IMXGetPixmapProperties(
457 }
458
459 /* Access screen associated with this pixmap. */
460- ScrnInfoPtr pScrn = xf86Screens[pPixmap->drawable.pScreen->myNum];
461+ ScrnInfoPtr pScrn = xf86ScreenToScrn(pPixmap->drawable.pScreen);
462
463 /* Check if the screen associated with this pixmap has IMX driver. */
464 if (0 != strcmp(IMX_DRIVER_NAME, pScrn->driverName)) {
465diff --git a/src/imx_exa_offscreen.c b/src/imx_exa_offscreen.c
466index 3a5c24d..0fbe2fc 100644
467--- a/src/imx_exa_offscreen.c
468+++ b/src/imx_exa_offscreen.c
469@@ -79,7 +79,7 @@ static void
470 imxExaOffscreenValidate (ScreenPtr pScreen)
471 {
472 /* Access the driver specific data. */
473- ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
474+ ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
475 ImxPtr imxPtr = IMXPTR(pScrn);
476 ImxExaPtr imxExaPtr = IMXEXAPTR(imxPtr);
477 ExaOffscreenArea *prev = 0, *area;
478@@ -135,7 +135,7 @@ imxExaOffscreenMerge (ImxExaPtr imxExaPtr, ExaOffscreenArea *area)
479 ExaOffscreenArea *
480 imxExaOffscreenFree (ScreenPtr pScreen, ExaOffscreenArea *area)
481 {
482- ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
483+ ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
484 ImxPtr imxPtr = IMXPTR(pScrn);
485 ImxExaPtr imxExaPtr = IMXEXAPTR(imxPtr);
486 ExaOffscreenArea *next = area->next;
487@@ -281,7 +281,7 @@ imxExaOffscreenAlloc (ScreenPtr pScreen, int size, int align,
488 pointer privData)
489 {
490 ExaOffscreenArea *area;
491- ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
492+ ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
493 ImxPtr imxPtr = IMXPTR(pScrn);
494 ImxExaPtr imxExaPtr = IMXEXAPTR(imxPtr);
495 int real_size = 0, largest_avail = 0;
496@@ -418,7 +418,7 @@ imxExaOffscreenSwapIn (ScreenPtr pScreen)
497 Bool
498 imxExaOffscreenInit (ScreenPtr pScreen)
499 {
500- ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
501+ ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
502 ImxPtr imxPtr = IMXPTR(pScrn);
503 ImxExaPtr imxExaPtr = IMXEXAPTR(imxPtr);
504 ExaOffscreenArea *area;
505@@ -453,7 +453,7 @@ imxExaOffscreenInit (ScreenPtr pScreen)
506 void
507 imxExaOffscreenFini (ScreenPtr pScreen)
508 {
509- ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
510+ ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
511 ImxPtr imxPtr = IMXPTR(pScrn);
512 ImxExaPtr imxExaPtr = IMXEXAPTR(imxPtr);
513 ExaOffscreenArea *area;
514@@ -472,7 +472,7 @@ imxExaOffscreenFini (ScreenPtr pScreen)
515 void
516 imxExaOffscreenSwapOut (ScreenPtr pScreen)
517 {
518- ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
519+ ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
520 ImxPtr imxPtr = IMXPTR(pScrn);
521 ImxExaPtr imxExaPtr = IMXEXAPTR(imxPtr);
522
523diff --git a/src/imx_exa_z160.c b/src/imx_exa_z160.c
524index fb718e0..3d0bc96 100644
525--- a/src/imx_exa_z160.c
526+++ b/src/imx_exa_z160.c
527@@ -32,6 +32,7 @@
528 #include <errno.h>
529 #include <fcntl.h>
530
531+#include "compat-api.h"
532
533 /* Set if handles pixmap allocation and migration, i.e, EXA_HANDLES_PIXMAPS */
534 #define IMX_EXA_ENABLE_HANDLES_PIXMAPS \
535@@ -299,7 +300,7 @@ imxExaZ160GetPixmapAddress(PixmapPtr pPixmap)
536 return fPixmapPtr->ptr;
537 #else
538 /* Access screen associated with this pixmap. */
539- ScrnInfoPtr pScrn = xf86Screens[pPixmap->drawable.pScreen->myNum];
540+ ScrnInfoPtr pScrn = xf86ScreenToScrn(pPixmap->drawable.pScreen);
541
542 /* Access driver specific data */
543 ImxPtr imxPtr = IMXPTR(pScrn);
544@@ -344,7 +345,7 @@ imxExaZ160GetPixmapProperties(
545 #else
546
547 /* Access screen associated with this pixmap. */
548- ScrnInfoPtr pScrn = xf86Screens[pPixmap->drawable.pScreen->myNum];
549+ ScrnInfoPtr pScrn = xf86ScreenToScrn(pPixmap->drawable.pScreen);
550
551 /* Make sure pixmap is in framebuffer */
552 if (!exaDrawableIsOffscreen(&(pPixmap->drawable))) {
553@@ -856,7 +857,7 @@ imxExaZ160SyncIfBusyPixmap(PixmapPtr pPixmap)
554 {
555 /* Access screen associated with this pixmap. */
556 ScreenPtr pScreen = pPixmap->drawable.pScreen;
557- ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
558+ ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
559
560 /* Access driver specific data for screen. */
561 ImxPtr imxPtr = IMXPTR(pScrn);
562@@ -924,7 +925,7 @@ imxExaZ160CreatePixmap2(ScreenPtr pScreen, int width, int height,
563 }
564
565 /* Access the driver specific data. */
566- ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
567+ ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
568 ImxPtr imxPtr = IMXPTR(pScrn);
569 ImxExaZ160Ptr fPtr = IMXEXAZ160PTR(imxPtr);
570
571@@ -1028,7 +1029,7 @@ imxExaZ160DestroyPixmap(ScreenPtr pScreen, void *driverPriv)
572 ImxExaPixmapPtr fPixmapPtr = (ImxExaPixmapPtr)driverPriv;
573
574 /* Access the driver specific data. */
575- ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
576+ ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
577 ImxPtr imxPtr = IMXPTR(pScrn);
578 ImxExaZ160Ptr fPtr = IMXEXAZ160PTR(imxPtr);
579
580@@ -1068,7 +1069,7 @@ imxExaZ160ModifyPixmapHeader(PixmapPtr pPixmap, int width, int height,
581 }
582
583 /* Access screen associated with this pixmap */
584- ScrnInfoPtr pScrn = xf86Screens[pPixmap->drawable.pScreen->myNum];
585+ ScrnInfoPtr pScrn = xf86ScreenToScrn(pPixmap->drawable.pScreen);
586
587 /* Access driver specific data */
588 ImxPtr imxPtr = IMXPTR(pScrn);
589@@ -1194,7 +1195,7 @@ imxExaZ160TrackBusyPixmap(ImxExaZ160Ptr fPtr, PixmapPtr pPixmap)
590 static void
591 imxExaZ160WaitMarker(ScreenPtr pScreen, int marker)
592 {
593- ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
594+ ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
595
596 /* Access driver specific data associated with the screen. */
597 ImxPtr imxPtr = IMXPTR(pScrn);
598@@ -1249,7 +1250,7 @@ imxExaZ160PrepareSolid(PixmapPtr pPixmap, int alu, Pixel planemask, Pixel fg)
599 }
600
601 /* Access screen associated with this pixmap */
602- ScrnInfoPtr pScrn = xf86Screens[pPixmap->drawable.pScreen->myNum];
603+ ScrnInfoPtr pScrn = xf86ScreenToScrn(pPixmap->drawable.pScreen);
604
605 /* Access driver specific data */
606 ImxPtr imxPtr = IMXPTR(pScrn);
607@@ -1352,7 +1353,7 @@ static void
608 imxExaZ160Solid(PixmapPtr pPixmap, int x1, int y1, int x2, int y2)
609 {
610 /* Access screen associated with this pixmap */
611- ScrnInfoPtr pScrn = xf86Screens[pPixmap->drawable.pScreen->myNum];
612+ ScrnInfoPtr pScrn = xf86ScreenToScrn(pPixmap->drawable.pScreen);
613
614 /* Access driver specific data */
615 ImxPtr imxPtr = IMXPTR(pScrn);
616@@ -1423,7 +1424,7 @@ static void
617 imxExaZ160DoneSolid(PixmapPtr pPixmap)
618 {
619 /* Access screen associated with this pixmap */
620- ScrnInfoPtr pScrn = xf86Screens[pPixmap->drawable.pScreen->myNum];
621+ ScrnInfoPtr pScrn = xf86ScreenToScrn(pPixmap->drawable.pScreen);
622
623 /* Access driver specific data */
624 ImxPtr imxPtr = IMXPTR(pScrn);
625@@ -1485,7 +1486,7 @@ imxExaZ160PrepareCopy(
626 }
627
628 /* Access the screen associated with this pixmap. */
629- ScrnInfoPtr pScrn = xf86Screens[pPixmapDst->drawable.pScreen->myNum];
630+ ScrnInfoPtr pScrn = xf86ScreenToScrn(pPixmapDst->drawable.pScreen);
631
632 /* Access driver specific data */
633 ImxPtr imxPtr = IMXPTR(pScrn);
634@@ -1599,7 +1600,7 @@ static void
635 imxExaZ160Copy(PixmapPtr pPixmapDst, int srcX, int srcY, int dstX, int dstY, int width, int height)
636 {
637 /* Access screen associated with dst pixmap */
638- ScrnInfoPtr pScrn = xf86Screens[pPixmapDst->drawable.pScreen->myNum];
639+ ScrnInfoPtr pScrn = xf86ScreenToScrn(pPixmapDst->drawable.pScreen);
640
641 /* Access driver specific data */
642 ImxPtr imxPtr = IMXPTR(pScrn);
643@@ -1661,7 +1662,7 @@ static void
644 imxExaZ160DoneCopy(PixmapPtr pPixmapDst)
645 {
646 /* Access screen associated with this pixmap */
647- ScrnInfoPtr pScrn = xf86Screens[pPixmapDst->drawable.pScreen->myNum];
648+ ScrnInfoPtr pScrn = xf86ScreenToScrn(pPixmapDst->drawable.pScreen);
649
650 /* Access driver specific data */
651 ImxPtr imxPtr = IMXPTR(pScrn);
652@@ -1770,7 +1771,7 @@ imxExaZ160CheckComposite(int op, PicturePtr pPictureSrc, PicturePtr pPictureMask
653 }
654
655 /* Access screen associated with dst pixmap (same screen as for src pixmap). */
656- ScrnInfoPtr pScrn = xf86Screens[pPixmapDst->drawable.pScreen->myNum];
657+ ScrnInfoPtr pScrn = xf86ScreenToScrn(pPixmapDst->drawable.pScreen);
658
659 /* Check the number of entities, and fail if it isn't one. */
660 if (pScrn->numEntities != 1) {
661@@ -1987,7 +1988,7 @@ imxExaZ160PrepareComposite(
662 {
663 /* Access screen associated with dst pixmap. */
664 /* Should be same screen as for src pixmap. */
665- ScrnInfoPtr pScrn = xf86Screens[pPixmapDst->drawable.pScreen->myNum];
666+ ScrnInfoPtr pScrn = xf86ScreenToScrn(pPixmapDst->drawable.pScreen);
667
668 /* NOTE - many preconditions already verified in CheckComposite. */
669
670@@ -2196,7 +2197,7 @@ imxExaZ160Composite(
671 int height)
672 {
673 /* Access screen associated with dst pixmap */
674- ScrnInfoPtr pScrn = xf86Screens[pPixmapDst->drawable.pScreen->myNum];
675+ ScrnInfoPtr pScrn = xf86ScreenToScrn(pPixmapDst->drawable.pScreen);
676
677 /* Access driver specific data */
678 ImxPtr imxPtr = IMXPTR(pScrn);
679@@ -2275,7 +2276,7 @@ static void
680 imxExaZ160DoneComposite(PixmapPtr pPixmapDst)
681 {
682 /* Access screen associated with this pixmap */
683- ScrnInfoPtr pScrn = xf86Screens[pPixmapDst->drawable.pScreen->myNum];
684+ ScrnInfoPtr pScrn = xf86ScreenToScrn(pPixmapDst->drawable.pScreen);
685
686 /* Access driver specific data */
687 ImxPtr imxPtr = IMXPTR(pScrn);
688@@ -2323,7 +2324,7 @@ imxExaZ160UploadToScreen(
689
690 /* Access screen associated with this pixmap */
691 ScreenPtr pScreen = pPixmapDst->drawable.pScreen;
692- ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
693+ ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
694
695 /* Access driver specific data */
696 ImxPtr imxPtr = IMXPTR(pScrn);
697@@ -2381,7 +2382,7 @@ imxExaZ160DownloadFromScreen(
698
699 /* Access screen associated with this pixmap */
700 ScreenPtr pScreen = pPixmapSrc->drawable.pScreen;
701- ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
702+ ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
703
704 /* Access driver specific data */
705 ImxPtr imxPtr = IMXPTR(pScrn);
706@@ -2412,9 +2413,9 @@ imxExaZ160DownloadFromScreen(
707 }
708
709 Bool
710-imxExaZ160CloseScreen(int scrnIndex, ScreenPtr pScreen)
711+imxExaZ160CloseScreen(CLOSE_SCREEN_ARGS_DECL)
712 {
713- ScrnInfoPtr pScrn = xf86Screens[scrnIndex];
714+ CLOSE_SCREEN_DECL_ScrnInfoPtr;
715 ImxPtr imxPtr = IMXPTR(pScrn);
716
717 ImxExaZ160Ptr fPtr = IMXEXAZ160PTR(imxPtr);
718@@ -2504,7 +2505,7 @@ imxExaZ160CloseScreen(int scrnIndex, ScreenPtr pScreen)
719 /* Install our CloseScreen function so that it gets called. */
720 if (NULL != pScreen->CloseScreen) {
721
722- return (*pScreen->CloseScreen)(scrnIndex, pScreen);
723+ return (*pScreen->CloseScreen)(CLOSE_SCREEN_ARGS);
724 }
725
726 return TRUE;
727@@ -2514,7 +2515,7 @@ Bool
728 imxExaZ160Setup(int scrnIndex, ScreenPtr pScreen)
729 {
730 /* Access the screen info and then private data structures. */
731- ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
732+ ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
733 ImxPtr imxPtr = IMXPTR(pScrn);
734
735 /* Private data structure must not already be in use. */
736@@ -2582,7 +2583,7 @@ imxExaZ160Setup(int scrnIndex, ScreenPtr pScreen)
737
738 xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
739 "Initialize Z160 interfaces failed.\n");
740- imxExaZ160CloseScreen(scrnIndex, pScreen);
741+ imxExaZ160CloseScreen(CLOSE_SCREEN_ARGS);
742 return FALSE;
743 }
744
745@@ -2592,7 +2593,7 @@ imxExaZ160Setup(int scrnIndex, ScreenPtr pScreen)
746
747 xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
748 "Allocate EXA driver structure.\n");
749- imxExaZ160CloseScreen(scrnIndex, pScreen);
750+ imxExaZ160CloseScreen(CLOSE_SCREEN_ARGS);
751 return FALSE;
752 }
753
754@@ -2657,7 +2658,7 @@ imxExaZ160Setup(int scrnIndex, ScreenPtr pScreen)
755 if (!exaDriverInit(pScreen, exaDriverPtr)) {
756
757 xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "EXA initialization failed.\n");
758- imxExaZ160CloseScreen(scrnIndex, pScreen);
759+ imxExaZ160CloseScreen(CLOSE_SCREEN_ARGS);
760 return FALSE;
761 }
762 fPtr->imxExaRec.exaDriverPtr = exaDriverPtr;
763diff --git a/src/imx_xv_ipu.c b/src/imx_xv_ipu.c
764index a517742..fc8a827 100644
765--- a/src/imx_xv_ipu.c
766+++ b/src/imx_xv_ipu.c
767@@ -398,7 +398,7 @@ xf86XVFillKeyHelper1 (ScreenPtr pScreen, CARD32 key, RegionPtr clipboxes)
768 xRectangle *rects;
769 GCPtr gc;
770
771- if(!xf86Screens[pScreen->myNum]->vtSema) return;
772+ if(!xf86ScreenToScrn(pScreen)->vtSema) return;
773
774 gc = GetScratchGC(root->depth, pScreen);
775 pval[0] = key;
776@@ -771,7 +771,7 @@ MXXVInitializeAdaptor
777 XF86VideoAdaptorPtr **pppAdaptor
778 )
779 {
780- ScreenPtr pScreen = screenInfo.screens[pScreenInfo->scrnIndex];
781+ ScreenPtr pScreen = xf86ScrnToScreen(pScreenInfo);
782 XF86VideoAdaptorPtr *ppAdaptor = NULL;
783 IMXPtr fPtr = IMXPTR(pScreenInfo);
784 int nAdaptor;
785--
7861.7.10.4
787
diff --git a/recipes-graphics/xorg-driver/xf86-video-imxfb/ext-Update-to-newer-swap-macros.patch b/recipes-graphics/xorg-driver/xf86-video-imxfb/ext-Update-to-newer-swap-macros.patch
deleted file mode 100644
index 05be6b32..00000000
--- a/recipes-graphics/xorg-driver/xf86-video-imxfb/ext-Update-to-newer-swap-macros.patch
+++ /dev/null
@@ -1,65 +0,0 @@
1From fc7f191a1a0f290a4e808dd8f9bd58ba1dbd2be4 Mon Sep 17 00:00:00 2001
2From: Otavio Salvador <otavio@ossystems.com.br>
3Date: Sat, 29 Dec 2012 18:00:36 -0200
4Subject: [PATCH 1/2] ext: Update to newer swap macros
5
6The swap macros now use an internal temporary variable so we need to
7adapt the code according.
8
9Upstream-Status: Pending
10
11Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
12---
13 src/imx_ext.c | 16 ++++++----------
14 1 file changed, 6 insertions(+), 10 deletions(-)
15
16diff --git a/src/imx_ext.c b/src/imx_ext.c
17index f12469a..710cba4 100644
18--- a/src/imx_ext.c
19+++ b/src/imx_ext.c
20@@ -57,8 +57,6 @@ void imxExtInit()
21 static int
22 Proc_IMX_EXT_GetPixmapPhysAddr(ClientPtr client)
23 {
24- int n;
25-
26 REQUEST(xIMX_EXT_GetPixmapPhysAddrReq);
27 REQUEST_SIZE_MATCH(xIMX_EXT_GetPixmapPhysAddrReq);
28
29@@ -96,10 +94,10 @@ Proc_IMX_EXT_GetPixmapPhysAddr(ClientPtr client)
30 /* Check if any reply values need byte swapping */
31 if (client->swapped) {
32
33- swaps(&rep.sequenceNumber, n);
34- swapl(&rep.length, n);
35- swapl(&rep.pixmapPhysAddr, n);
36- swapl(&rep.pixmapPitch, n);
37+ swaps(&rep.sequenceNumber);
38+ swapl(&rep.length);
39+ swapl(&rep.pixmapPhysAddr);
40+ swapl(&rep.pixmapPitch);
41 }
42
43 /* Reply to client */
44@@ -123,16 +121,14 @@ Proc_IMX_EXT_Dispatch(ClientPtr client)
45 static int
46 SProc_IMX_EXT_GetPixmapPhysAddr(ClientPtr client)
47 {
48- int n;
49-
50 REQUEST(xIMX_EXT_GetPixmapPhysAddrReq);
51
52 /* Swap request message length and verify it is correct. */
53- swaps(&stuff->length, n);
54+ swaps(&stuff->length);
55 REQUEST_SIZE_MATCH(xIMX_EXT_GetPixmapPhysAddrReq);
56
57 /* Swap remaining request message parameters. */
58- swapl(&stuff->pixmap, n);
59+ swapl(&stuff->pixmap);
60
61 return Proc_IMX_EXT_GetPixmapPhysAddr(client);
62 }
63--
641.7.10.4
65
diff --git a/recipes-graphics/xorg-driver/xf86-video-imxfb/glibc-2.20.patch b/recipes-graphics/xorg-driver/xf86-video-imxfb/glibc-2.20.patch
deleted file mode 100644
index 3b1b84d1..00000000
--- a/recipes-graphics/xorg-driver/xf86-video-imxfb/glibc-2.20.patch
+++ /dev/null
@@ -1,57 +0,0 @@
1Fix build errors seen with glibc 2.20
2
3/home/ubuntu/work/upstream/openembedded-core/build/tmp-glibc/sysroots/imx53qsb/usr/include/xorg/os.h:579:1: error: expected identifier or '(' before '__extension__'
4 strndup(const char *str, size_t n);
5 ^
6
7Signed-off-by: Khem Raj <raj.khem@gmail.com>
8Upstream-Status: Pending
9Index: xserver-xorg-video-imx-11.09.01/src/imx_accel.c
10===================================================================
11--- xserver-xorg-video-imx-11.09.01.orig/src/imx_accel.c 2011-07-26 14:22:47.000000000 -0700
12+++ xserver-xorg-video-imx-11.09.01/src/imx_accel.c 2014-08-29 15:54:43.648070587 -0700
13@@ -21,6 +21,7 @@
14 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
15 * SOFTWARE.
16 */
17+#include <xorg-server.h>
18
19 #include <stdint.h>
20 #include "xf86.h"
21Index: xserver-xorg-video-imx-11.09.01/src/imx_exa_offscreen.c
22===================================================================
23--- xserver-xorg-video-imx-11.09.01.orig/src/imx_exa_offscreen.c 2014-08-29 15:26:31.992070587 -0700
24+++ xserver-xorg-video-imx-11.09.01/src/imx_exa_offscreen.c 2014-08-29 15:54:54.632070587 -0700
25@@ -53,7 +53,7 @@
26 * When allocating, the contiguous block of areas with the minimum eviction
27 * cost is found and evicted in order to make room for the new allocation.
28 */
29-
30+#include <xorg-server.h>
31
32 #include "xf86.h"
33 #include "exa.h"
34Index: xserver-xorg-video-imx-11.09.01/src/imx_exa_z160.c
35===================================================================
36--- xserver-xorg-video-imx-11.09.01.orig/src/imx_exa_z160.c 2014-08-29 15:26:31.992070587 -0700
37+++ xserver-xorg-video-imx-11.09.01/src/imx_exa_z160.c 2014-08-29 15:54:36.056070587 -0700
38@@ -21,6 +21,7 @@
39 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
40 * SOFTWARE.
41 */
42+#include <xorg-server.h>
43
44 #include "xf86.h"
45 #include "xf86_OSproc.h"
46Index: xserver-xorg-video-imx-11.09.01/src/imx_ext.c
47===================================================================
48--- xserver-xorg-video-imx-11.09.01.orig/src/imx_ext.c 2014-08-29 15:26:32.064070587 -0700
49+++ xserver-xorg-video-imx-11.09.01/src/imx_ext.c 2014-08-29 15:55:18.048070587 -0700
50@@ -21,6 +21,7 @@
51 * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
52 * SOFTWARE.
53 */
54+#include <xorg-server.h>
55
56 #include <X11/X.h>
57 #include <X11/Xproto.h>
diff --git a/recipes-graphics/xorg-driver/xf86-video-imxfb/xf86-video-imxfb-fix-m4-hardcodded-paths.patch b/recipes-graphics/xorg-driver/xf86-video-imxfb/xf86-video-imxfb-fix-m4-hardcodded-paths.patch
deleted file mode 100644
index 64af7732..00000000
--- a/recipes-graphics/xorg-driver/xf86-video-imxfb/xf86-video-imxfb-fix-m4-hardcodded-paths.patch
+++ /dev/null
@@ -1,53 +0,0 @@
1From 5b348e7be67957f4be6fcfa4942128c04f6db905 Mon Sep 17 00:00:00 2001
2From: Adrian Alonso <b38018@freescale.com>
3Date: Thu, 4 Aug 2011 14:24:26 -0500
4Subject: [PATCH] xf86-video-imxfb: fix m4 hardcodded paths
5
6* Fix m4 macros lookup location; remove /usr/share/aclocal path
7
8Signed-off-by: Adrian Alonso <b38018@freescale.com>
9---
10 Makefile.am | 2 +-
11 Makefile.in | 2 +-
12 configure.ac | 2 +-
13 3 files changed, 3 insertions(+), 3 deletions(-)
14
15diff --git a/Makefile.am b/Makefile.am
16index 6752256..e205657 100644
17--- a/Makefile.am
18+++ b/Makefile.am
19@@ -20,4 +20,4 @@
20
21 AUTOMAKE_OPTIONS = foreign
22 SUBDIRS = src
23-ACLOCAL_AMFLAGS = -I /usr/share/aclocal
24+ACLOCAL_AMFLAGS = -I m4
25diff --git a/Makefile.in b/Makefile.in
26index 5c0ba0e..f829db7 100644
27--- a/Makefile.in
28+++ b/Makefile.in
29@@ -243,7 +243,7 @@ top_builddir = @top_builddir@
30 top_srcdir = @top_srcdir@
31 AUTOMAKE_OPTIONS = foreign
32 SUBDIRS = src
33-ACLOCAL_AMFLAGS = -I /usr/share/aclocal
34+ACLOCAL_AMFLAGS = -I m4
35 all: config.h
36 $(MAKE) $(AM_MAKEFLAGS) all-recursive
37
38diff --git a/configure.ac b/configure.ac
39index a1ac73b..0078b86 100644
40--- a/configure.ac
41+++ b/configure.ac
42@@ -29,7 +29,7 @@ AC_INIT([xf86-video-imx],
43 AC_CONFIG_SRCDIR([Makefile.am])
44 AM_CONFIG_HEADER([config.h])
45 AC_CONFIG_AUX_DIR(.)
46-AC_CONFIG_MACRO_DIR([/usr/share/aclocal])
47+AC_CONFIG_MACRO_DIR([m4])
48
49 AM_INIT_AUTOMAKE([dist-bzip2])
50
51--
521.7.4.1
53
diff --git a/recipes-graphics/xorg-driver/xf86-video-imxfb/xserver-1.14-compat.patch b/recipes-graphics/xorg-driver/xf86-video-imxfb/xserver-1.14-compat.patch
deleted file mode 100644
index 14ccbbf9..00000000
--- a/recipes-graphics/xorg-driver/xf86-video-imxfb/xserver-1.14-compat.patch
+++ /dev/null
@@ -1,34 +0,0 @@
1Fix building using new Xorg 1.14
2
3mibstore functions are no longer supported. This patch removes them
4from this driver, following the pattern in
5http://patches.openembedded.org/patch/46133/
6
7This checkin shows when/where the changes to the X server were made
8that deleted the header mibstore.h and mentions the reasons.
9http://lists.x.org/archives/xorg-devel/2012-September/033575.html
10
11Upstream-Status: Pending
12
13Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
14
15Index: xserver-xorg-video-imx-11.09.01/src/imx_driver.c
16===================================================================
17--- xserver-xorg-video-imx-11.09.01.orig/src/imx_driver.c
18+++ xserver-xorg-video-imx-11.09.01/src/imx_driver.c
19@@ -37,7 +37,6 @@
20 #include "xf86_OSproc.h"
21
22 #include "mipointer.h"
23-#include "mibstore.h"
24 #include "micmap.h"
25 #include "colormapst.h"
26 #include "xf86cmap.h"
27@@ -722,7 +721,6 @@ imxScreenInit(SCREEN_INIT_ARGS_DECL)
28 /* Initialize for X extensions. */
29 imxExtInit();
30
31- miInitializeBackingStore(pScreen);
32 xf86SetBackingStore(pScreen);
33
34 /* software cursor */
diff --git a/recipes-graphics/xorg-driver/xf86-video-imxfb_11.09.01.bb b/recipes-graphics/xorg-driver/xf86-video-imxfb_11.09.01.bb
deleted file mode 100644
index 51f243fc..00000000
--- a/recipes-graphics/xorg-driver/xf86-video-imxfb_11.09.01.bb
+++ /dev/null
@@ -1,48 +0,0 @@
1# Copyright (C) 2011-2015 O.S. Systems Software LTDA.
2# Copyright (C) 2011, 2012 Freescale
3# Released under the MIT license (see COPYING.MIT for the terms)
4
5require recipes-graphics/xorg-driver/xorg-driver-video.inc
6
7DESCRIPTION = "X.Org X server -- Freescale iMx framebuffer driver"
8LIC_FILES_CHKSUM = "file://COPYING;md5=f7bdc0c63080175d1667091b864cb12c"
9DEPENDS = "virtual/kernel virtual/xserver virtual/libx11 xproto randrproto util-macros amd-gpu-x11-bin-mx51 libz160"
10
11PR = "r12"
12
13SRC_URI = "${FSL_MIRROR}/xserver-xorg-video-imx-${PV}.tar.gz \
14 file://xf86-video-imxfb-fix-m4-hardcodded-paths.patch \
15 file://Make-video-API-forward-and-backward-compatible.patch \
16 file://ext-Update-to-newer-swap-macros.patch \
17 file://Fix-error-unknown-type-name-uint.patch \
18 file://xserver-1.14-compat.patch \
19 file://glibc-2.20.patch \
20"
21SRC_URI[md5sum] = "d19148399b5d1c4dab90d0cc6f2c4789"
22SRC_URI[sha256sum] = "d7d85e9f13c6dd58addab89847f3a8a67f6382a54135c7978c9a95368af024d4"
23
24inherit autotools pkgconfig
25
26# Make sure kernel sources are available
27do_configure[depends] += "virtual/kernel:do_shared_workdir"
28
29# Skip warning
30UNKNOWN_CONFIGURE_WHITELIST += "--enable-neon"
31
32FILES_${PN} += " ${libdir}/xorg/modules/drivers/*.so"
33FILES_${PN}-dbg += " ${libdir}/xorg/modules/drivers/.debug"
34EXTRA_OECONF_armv7a = " --enable-neon "
35CFLAGS += " -I${STAGING_INCDIR}/xorg -I${STAGING_KERNEL_DIR}/include"
36
37S = "${WORKDIR}/xserver-xorg-video-imx-${PV}"
38
39do_install_append () {
40 # driver's la files are not packaged
41 rm -f ${D}${libdir}/xorg/modules/drivers/*.la
42}
43
44RDEPENDS_${PN} += "xserver-xorg-module-exa"
45
46INSANE_SKIP_${PN} = "ldflags"
47INSANE_SKIP_${PN}-dbg = "ldflags"
48COMPATIBLE_MACHINE = "(mx5)"