summaryrefslogtreecommitdiffstats
path: root/recipes-graphics/xorg-driver/xf86-video-imxfb-vivante/ENGR00333447-Fix-EXA-driver-for-Xserver-1.16.patch
blob: 0010123a24641a8f4fef68ab2ea1ff3d1a2d293a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
From 1bfebbaf840d987aa0e5d4143b6658bad5a21a0b Mon Sep 17 00:00:00 2001
From: Prabhu Sundararaj <prabhu.sundararaj@freescale.com>
Date: Tue, 30 Sep 2014 12:09:54 -0500
Subject: [PATCH] ENGR00333447 : Fix EXA driver for Xserver 1.16

Fix const char error occurs with Xserver 1.16 and loadextension change

Upstream-Status: Pending

Signed-off-by: Prabhu Sundararaj <prabhu.sundararaj@freescale.com>
---
 EXA/src/vivante_fbdev/imx_display.c          |  2 +-
 EXA/src/vivante_fbdev/vivante_fbdev_driver.c | 18 +++++++++++++++---
 2 files changed, 16 insertions(+), 4 deletions(-)

diff --git a/EXA/src/vivante_fbdev/imx_display.c b/EXA/src/vivante_fbdev/imx_display.c
index 94f561a..d5303f9 100644
--- a/EXA/src/vivante_fbdev/imx_display.c
+++ b/EXA/src/vivante_fbdev/imx_display.c
@@ -956,7 +956,7 @@ imxDisplayDeleteModes(DisplayModePtr modesList)
 		}
 
 		if (NULL != mode->name) {
-			free(mode->name);
+			free((char*)mode->name);
 		}
 		free(mode);
 	}
diff --git a/EXA/src/vivante_fbdev/vivante_fbdev_driver.c b/EXA/src/vivante_fbdev/vivante_fbdev_driver.c
index 63996b1..3e289ce 100644
--- a/EXA/src/vivante_fbdev/vivante_fbdev_driver.c
+++ b/EXA/src/vivante_fbdev/vivante_fbdev_driver.c
@@ -120,8 +120,9 @@ static Bool tearingWrapSurfaces(ScrnInfoPtr pScrn);
 
 static Bool noVIVExtension;
 
-static ExtensionModule VIVExt =
+static ExtensionModule VIVExt[] =
 {
+	{
 	VIVExtensionInit,
 	VIVEXTNAME,
 	&noVIVExtension
@@ -130,6 +131,7 @@ static ExtensionModule VIVExt =
 	NULL,
 	NULL
 #endif
+	}
 };
 
 Bool vivEnableCacheMemory = TRUE;
@@ -266,7 +268,17 @@ FBDevSetup(pointer module, pointer opts, int *errmaj, int *errmin)
         setupDone = TRUE;
         xf86AddDriver(&FBDEV, module, HaveDriverFuncs);
         if(gVivFb)
-            LoadExtension(&VIVExt, FALSE);
+	{
+#if XORG_VERSION_CURRENT < (((1) * 10000000) + ((16) * 100000) + ((0) * 1000) + 0)
+	     int i;
+             for(i=0; i<ARRAY_SIZE(VIVExt); i++)
+                 LoadExtension(&VIVExt[i], FALSE);
+
+#else
+            LoadExtensionList(VIVExt, 1, FALSE);
+#endif
+	}
+
 		return (pointer)1;
     } else {
         if (errmaj) *errmaj = LDR_ONCEONLY;
@@ -1638,7 +1650,7 @@ RestoreSyncFlags(ScrnInfoPtr pScrn)
         char *modeName = "current";
         unsigned int fbSync = 0;
         if(pScrn->currentMode)
-            modeName = pScrn->currentMode->name;
+            modeName = (char*)pScrn->currentMode->name;
 
         if(!imxLoadSyncFlags(pScrn, modeName, &fbSync)) {
             xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
-- 
2.1.1