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
|