[arch-commits] Commit in xf86-video-sis/repos (12 files)

Laurent Carlier lcarlier at archlinux.org
Wed Feb 11 08:51:17 UTC 2015


    Date: Wednesday, February 11, 2015 @ 09:51:17
  Author: lcarlier
Revision: 231278

db-move: moved xf86-video-sis from [staging] to [testing] (i686, x86_64)

Added:
  xf86-video-sis/repos/testing-i686/
  xf86-video-sis/repos/testing-i686/0001-Disable-UploadToScreen-and-DownloadFromScreen.patch
    (from rev 231256, xf86-video-sis/repos/staging-i686/0001-Disable-UploadToScreen-and-DownloadFromScreen.patch)
  xf86-video-sis/repos/testing-i686/PKGBUILD
    (from rev 231256, xf86-video-sis/repos/staging-i686/PKGBUILD)
  xf86-video-sis/repos/testing-i686/Xi.patch
    (from rev 231256, xf86-video-sis/repos/staging-i686/Xi.patch)
  xf86-video-sis/repos/testing-i686/git-fixes.patch
    (from rev 231256, xf86-video-sis/repos/staging-i686/git-fixes.patch)
  xf86-video-sis/repos/testing-x86_64/
  xf86-video-sis/repos/testing-x86_64/0001-Disable-UploadToScreen-and-DownloadFromScreen.patch
    (from rev 231256, xf86-video-sis/repos/staging-x86_64/0001-Disable-UploadToScreen-and-DownloadFromScreen.patch)
  xf86-video-sis/repos/testing-x86_64/PKGBUILD
    (from rev 231256, xf86-video-sis/repos/staging-x86_64/PKGBUILD)
  xf86-video-sis/repos/testing-x86_64/Xi.patch
    (from rev 231256, xf86-video-sis/repos/staging-x86_64/Xi.patch)
  xf86-video-sis/repos/testing-x86_64/git-fixes.patch
    (from rev 231256, xf86-video-sis/repos/staging-x86_64/git-fixes.patch)
Deleted:
  xf86-video-sis/repos/staging-i686/
  xf86-video-sis/repos/staging-x86_64/

-------------------------------------------------------------------------+
 testing-i686/0001-Disable-UploadToScreen-and-DownloadFromScreen.patch   |   66 +
 testing-i686/PKGBUILD                                                   |   44 +
 testing-i686/Xi.patch                                                   |   19 
 testing-i686/git-fixes.patch                                            |  389 ++++++++++
 testing-x86_64/0001-Disable-UploadToScreen-and-DownloadFromScreen.patch |   66 +
 testing-x86_64/PKGBUILD                                                 |   44 +
 testing-x86_64/Xi.patch                                                 |   19 
 testing-x86_64/git-fixes.patch                                          |  389 ++++++++++
 8 files changed, 1036 insertions(+)

Copied: xf86-video-sis/repos/testing-i686/0001-Disable-UploadToScreen-and-DownloadFromScreen.patch (from rev 231256, xf86-video-sis/repos/staging-i686/0001-Disable-UploadToScreen-and-DownloadFromScreen.patch)
===================================================================
--- testing-i686/0001-Disable-UploadToScreen-and-DownloadFromScreen.patch	                        (rev 0)
+++ testing-i686/0001-Disable-UploadToScreen-and-DownloadFromScreen.patch	2015-02-11 08:51:17 UTC (rev 231278)
@@ -0,0 +1,66 @@
+From c0ff117d3e19e14829a21d89673e03f9d6389043 Mon Sep 17 00:00:00 2001
+From: Jan de Groot <jgc at archlinux.org>
+Date: Thu, 22 Nov 2012 15:04:42 +0100
+Subject: [PATCH] Disable UploadToScreen and DownloadFromScreen. These
+ functions use invalid pointers, causing crashes. As the
+ driver is technically unmaintained, it's better to rely on
+ software fallback than trying to fix the driver
+ implementation.
+
+---
+ src/sis300_accel.c | 2 ++
+ src/sis310_accel.c | 2 ++
+ src/sis_accel.c    | 2 ++
+ 3 files changed, 6 insertions(+)
+
+diff --git a/src/sis300_accel.c b/src/sis300_accel.c
+index af0527d..2162d76 100644
+--- a/src/sis300_accel.c
++++ b/src/sis300_accel.c
+@@ -1273,9 +1273,11 @@ SiS300AccelInit(ScreenPtr pScreen)
+ 
+ 		 /* Composite not supported */
+ 
++#if 0
+ 		 /* Upload, download to/from Screen */
+ 		 pSiS->EXADriverPtr->UploadToScreen = SiSUploadToScreen;
+ 		 pSiS->EXADriverPtr->DownloadFromScreen = SiSDownloadFromScreen;
++#endif
+ 
+ 	      } else {
+ 
+diff --git a/src/sis310_accel.c b/src/sis310_accel.c
+index 1a6f639..20106ce 100644
+--- a/src/sis310_accel.c
++++ b/src/sis310_accel.c
+@@ -2303,9 +2303,11 @@ SiS315AccelInit(ScreenPtr pScreen)
+ 	      }
+ #endif
+ 
++#if 0
+ 	      /* Upload, download to/from Screen */
+ 	      pSiS->EXADriverPtr->UploadToScreen = SiSUploadToScreen;
+ 	      pSiS->EXADriverPtr->DownloadFromScreen = SiSDownloadFromScreen;
++#endif
+ 
+ 	   }
+ #endif
+diff --git a/src/sis_accel.c b/src/sis_accel.c
+index c2c24c7..bb08296 100644
+--- a/src/sis_accel.c
++++ b/src/sis_accel.c
+@@ -801,9 +801,11 @@ SiSAccelInit(ScreenPtr pScreen)
+ 
+ 	  /* Composite not supported */
+ 
++#if 0
+ 	  /* Upload, download to/from Screen */
+ 	  pSiS->EXADriverPtr->UploadToScreen = SiSUploadToScreen;
+ 	  pSiS->EXADriverPtr->DownloadFromScreen = SiSDownloadFromScreen;
++#endif
+ 
+        }
+ #endif /* EXA */
+-- 
+1.8.0
+

Copied: xf86-video-sis/repos/testing-i686/PKGBUILD (from rev 231256, xf86-video-sis/repos/staging-i686/PKGBUILD)
===================================================================
--- testing-i686/PKGBUILD	                        (rev 0)
+++ testing-i686/PKGBUILD	2015-02-11 08:51:17 UTC (rev 231278)
@@ -0,0 +1,44 @@
+# $Id$
+# Maintainer: Jan de Groot <jgc at archlinux.org>
+
+pkgname=xf86-video-sis
+pkgver=0.10.7
+pkgrel=7
+pkgdesc="X.org SiS video driver"
+arch=(i686 x86_64)
+url="http://xorg.freedesktop.org/"
+license=('custom')
+depends=('glibc')
+makedepends=('xorg-server-devel' 'X-ABI-VIDEODRV_VERSION=19' 'xf86dgaproto')
+conflicts=('xorg-server<1.16' 'X-ABI-VIDEODRV_VERSION<19' 'X-ABI-VIDEODRV_VERSION>=20')
+optdepends=('sis-dri: DRI1 support from community repo')
+groups=('xorg-drivers' 'xorg')
+source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2
+	0001-Disable-UploadToScreen-and-DownloadFromScreen.patch
+	git-fixes.patch
+	Xi.patch)
+sha256sums=('be2eb6acba081e88dabc5be9db379e3da89a4d4edeb68064f204bf343a411cd0'
+            '3108c60b3030c894fbdb1426b05d7a8281e5fa4f385e1a80e22c8813a3fb6f5b'
+            'a340653dbe1bbd0fff1b881b1245793149d46a397baf51264ce9a42e1a254eab'
+            '7a1a0b784664a0f011bd13395be1854dee407e901d2707ab1a6b8d20caa0a672')
+
+prepare() {
+  cd ${pkgname}-${pkgver}
+  patch -Np1 -i "${srcdir}/0001-Disable-UploadToScreen-and-DownloadFromScreen.patch"
+  patch -Np1 -i ${srcdir}/git-fixes.patch
+  patch -Np1 -i ${srcdir}/Xi.patch
+}
+
+build() {
+  cd ${pkgname}-${pkgver}
+  ./configure --prefix=/usr
+  make
+}
+
+package() {
+  cd ${pkgname}-${pkgver}
+  make DESTDIR="${pkgdir}" install
+
+  install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+  install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
+}

Copied: xf86-video-sis/repos/testing-i686/Xi.patch (from rev 231256, xf86-video-sis/repos/staging-i686/Xi.patch)
===================================================================
--- testing-i686/Xi.patch	                        (rev 0)
+++ testing-i686/Xi.patch	2015-02-11 08:51:17 UTC (rev 231278)
@@ -0,0 +1,19 @@
+--- xf86-video-sis-0.10.7/src/sis_driver.c	2013-03-10 13:57:50.000000000 +0100
++++ xf86-video-sis-0.10.7/src/sis_driver.c.new	2013-03-10 13:54:48.645203559 +0100
+@@ -9378,7 +9378,15 @@
+      }
+      if(doit) {
+ 	sigstate = xf86BlockSIGIO();
+-#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 15
++#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 18
++        {
++            double dx = x, dy = y;
++            miPointerSetPosition(inputInfo.pointer, Absolute, &dx, &dy,
++                NULL, NULL);
++            x = (int)dx;
++            y = (int)dy;
++        }
++#elif GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 15
+         {
+             double dx = x, dy = y;
+             miPointerSetPosition(inputInfo.pointer, Absolute, &dx, &dy);

Copied: xf86-video-sis/repos/testing-i686/git-fixes.patch (from rev 231256, xf86-video-sis/repos/staging-i686/git-fixes.patch)
===================================================================
--- testing-i686/git-fixes.patch	                        (rev 0)
+++ testing-i686/git-fixes.patch	2015-02-11 08:51:17 UTC (rev 231278)
@@ -0,0 +1,389 @@
+From 339fb3bc032b9f35b07b90480ae82a0fd352e078 Mon Sep 17 00:00:00 2001
+From: Jan Lindemann <jan at jannet.de>
+Date: Thu, 30 Aug 2012 18:09:10 +0000
+Subject: Replace xf86UnMapVidMem with pci_device_unmap_range
+
+Mixing pci_device_map_range with xf86UnMapVidMem doesn't work too well.
+
+X.Org bug#18028 <https://bugs.freedesktop.org/show_bug.cgi?id=18028>
+
+Bug found by Bryan Henderson <bryanh at giraffe-data.com>
+
+Signed-off-by: Julien Cristau <jcristau at debian.org>
+---
+diff --git a/src/sis_driver.c b/src/sis_driver.c
+index 61e8075..4c9b9cb 100644
+--- a/src/sis_driver.c
++++ b/src/sis_driver.c
+@@ -7344,7 +7344,11 @@ SISUnmapMem(ScrnInfoPtr pScrn)
+         if(pSiSEnt->MapCountIOBase) {
+ 	    pSiSEnt->MapCountIOBase--;
+ 	    if((pSiSEnt->MapCountIOBase == 0) || (pSiSEnt->forceUnmapIOBase)) {
++#ifndef XSERVER_LIBPCIACCESS
+ 		xf86UnMapVidMem(pScrn->scrnIndex, (pointer)pSiSEnt->IOBase, (pSiS->mmioSize * 1024));
++#else
++	        pci_device_unmap_range(pSiS->PciInfo, pSiSEnt->IOBase, (pSiS->mmioSize * 1024));
++#endif
+ 		pSiSEnt->IOBase = NULL;
+ 		pSiSEnt->MapCountIOBase = 0;
+ 		pSiSEnt->forceUnmapIOBase = FALSE;
+@@ -7355,7 +7359,11 @@ SISUnmapMem(ScrnInfoPtr pScrn)
+ 	if(pSiSEnt->MapCountIOBaseDense) {
+ 	    pSiSEnt->MapCountIOBaseDense--;
+ 	    if((pSiSEnt->MapCountIOBaseDense == 0) || (pSiSEnt->forceUnmapIOBaseDense)) {
++#ifndef XSERVER_LIBPCIACCESS
+ 		xf86UnMapVidMem(pScrn->scrnIndex, (pointer)pSiSEnt->IOBaseDense, (pSiS->mmioSize * 1024));
++#else
++		pci_device_unmap_range(pSiS->PciInfo, (pointer)pSiSEnt->IOBaseDense, (pSiS->mmioSize * 1024));
++#endif
+ 		pSiSEnt->IOBaseDense = NULL;
+ 		pSiSEnt->MapCountIOBaseDense = 0;
+ 		pSiSEnt->forceUnmapIOBaseDense = FALSE;
+@@ -7366,7 +7374,11 @@ SISUnmapMem(ScrnInfoPtr pScrn)
+ 	if(pSiSEnt->MapCountFbBase) {
+ 	    pSiSEnt->MapCountFbBase--;
+ 	    if((pSiSEnt->MapCountFbBase == 0) || (pSiSEnt->forceUnmapFbBase)) {
++#ifndef XSERVER_LIBPCIACCESS
+ 		xf86UnMapVidMem(pScrn->scrnIndex, (pointer)pSiSEnt->RealFbBase, pSiS->FbMapSize);
++#else
++		pci_device_unmap_range(pSiS->PciInfo, (pointer)pSiSEnt->RealFbBase, pSiS->FbMapSize);
++#endif
+ 		pSiSEnt->FbBase = pSiSEnt->RealFbBase = NULL;
+ 		pSiSEnt->MapCountFbBase = 0;
+ 		pSiSEnt->forceUnmapFbBase = FALSE;
+@@ -7376,13 +7388,25 @@ SISUnmapMem(ScrnInfoPtr pScrn)
+ 	}
+     } else {
+ #endif
++#ifndef XSERVER_LIBPCIACCESS
+ 	xf86UnMapVidMem(pScrn->scrnIndex, (pointer)pSiS->IOBase, (pSiS->mmioSize * 1024));
++#else
++	pci_device_unmap_range(pSiS->PciInfo, (pointer)pSiS->IOBase, (pSiS->mmioSize * 1024));
++#endif
+ 	pSiS->IOBase = NULL;
+ #ifdef __alpha__
++#ifndef XSERVER_LIBPCIACCESS
+ 	xf86UnMapVidMem(pScrn->scrnIndex, (pointer)pSiS->IOBaseDense, (pSiS->mmioSize * 1024));
++#else
++	pci_device_unmap_range(pSiS->PciInfo, (pointer)pSiS->IOBaseDense, (pSiS->mmioSize * 1024));
++#endif
+ 	pSiS->IOBaseDense = NULL;
+ #endif
++#ifndef XSERVER_LIBPCIACCESS
+ 	xf86UnMapVidMem(pScrn->scrnIndex, (pointer)pSiS->RealFbBase, pSiS->FbMapSize);
++#else
++	pci_device_unmap_range(pSiS->PciInfo, (pointer)pSiS->RealFbBase, pSiS->FbMapSize);
++#endif
+ 	pSiS->FbBase = pSiS->RealFbBase = NULL;
+ #ifdef SISDUALHEAD
+     }
+--
+cgit v0.9.0.2-2-gbebe
+From 926d4f655c8491b68a338f50c810f6729686ec9f Mon Sep 17 00:00:00 2001
+From: Adam Jackson <ajax at redhat.com>
+Date: Tue, 25 Sep 2012 12:54:51 +0000
+Subject: Remove mibstore.h
+
+Signed-off-by: Adam Jackson <ajax at redhat.com>
+---
+diff --git a/src/sis_driver.c b/src/sis_driver.c
+index 4c9b9cb..46cfefd 100644
+--- a/src/sis_driver.c
++++ b/src/sis_driver.c
+@@ -57,7 +57,6 @@
+ #include "fb.h"
+ #include "micmap.h"
+ #include "mipointer.h"
+-#include "mibstore.h"
+ #include "edid.h"
+ 
+ #define SIS_NEED_inSISREG
+@@ -8883,7 +8882,6 @@ SISScreenInit(SCREEN_INIT_ARGS_DECL)
+     }
+     pSiS->SiSFastVidCopyDone = TRUE;
+ 
+-    miInitializeBackingStore(pScreen);
+     xf86SetBackingStore(pScreen);
+     xf86SetSilkenMouse(pScreen);
+ 
+--
+cgit v0.9.0.2-2-gbebe
+From 7d4402786b758de3e6ce2641e15a39d612d5c518 Mon Sep 17 00:00:00 2001
+From: Adam Jackson <ajax at redhat.com>
+Date: Mon, 15 Oct 2012 23:11:30 +0000
+Subject: Stop including xf86Priv.h
+
+As the name might suggest, it's server-private.
+
+Signed-off-by: Adam Jackson <ajax at redhat.com>
+---
+diff --git a/src/sis.h b/src/sis.h
+index 46fca2a..20e6134 100644
+--- a/src/sis.h
++++ b/src/sis.h
+@@ -75,7 +75,6 @@
+ 
+ #include "compiler.h"
+ #include "xf86Pci.h"
+-#include "xf86Priv.h"
+ #include "xf86_OSproc.h"
+ #if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 6
+ #include "xf86Resources.h"
+diff --git a/src/sis_driver.c b/src/sis_driver.c
+index 46cfefd..cefe503 100644
+--- a/src/sis_driver.c
++++ b/src/sis_driver.c
+@@ -93,6 +93,10 @@
+ #include "dri.h"
+ #endif
+ 
++#ifndef DEFAULT_DPI
++#define DEFAULT_DPI 96
++#endif
++
+ /*
+  * LookupWindow was removed with video abi 11.
+  */
+--
+cgit v0.9.0.2-2-gbebe
+From 0a4336efaafac4c34d4287b5df586bbb418f7f76 Mon Sep 17 00:00:00 2001
+From: Alan Coopersmith <alan.coopersmith at oracle.com>
+Date: Sat, 26 Oct 2013 14:27:17 -0700
+Subject: Fix HDisplay/VDisplay typos
+
+Found by gcc -Wlogicalops:
+
+sis_driver.c: In function 'SiS_CheckModeCRT2':
+sis_driver.c:13754:5: warning: logical 'and' of mutually exclusive tests is always false [-Wlogical-op]
+sis_driver.c:13755:6: warning: logical 'and' of mutually exclusive tests is always false [-Wlogical-op]
+sis_driver.c:13756:6: warning: logical 'and' of mutually exclusive tests is always false [-Wlogical-op]
+sis_driver.c:13758:5: warning: logical 'and' of mutually exclusive tests is always false [-Wlogical-op]
+sis_driver.c:13759:6: warning: logical 'and' of mutually exclusive tests is always false [-Wlogical-op]
+
+Signed-off-by: Alan Coopersmith <alan.coopersmith at oracle.com>
+Reviewed-by: Gaetan Nadon <memsize at videotron.ca>
+
+diff --git a/src/sis_driver.c b/src/sis_driver.c
+index cefe503..80b8d51 100644
+--- a/src/sis_driver.c
++++ b/src/sis_driver.c
+@@ -13751,12 +13751,12 @@ SiS_CheckModeCRT2(ScrnInfoPtr pScrn, DisplayModePtr mode, unsigned int VBFlags,
+       if( ((mode->HDisplay <= pSiS->LCDwidth) &&
+            (mode->VDisplay <= pSiS->LCDheight)) ||
+ 	  ((pSiS->SiS_Pr->SiS_CustomT == CUT_PANEL848) &&
+-	   (((mode->HDisplay == 1360) && (mode->HDisplay == 768)) ||
+-	    ((mode->HDisplay == 1024) && (mode->HDisplay == 768)) ||
+-	    ((mode->HDisplay ==  800) && (mode->HDisplay == 600)))) ||
++	   (((mode->HDisplay == 1360) && (mode->VDisplay == 768)) ||
++	    ((mode->HDisplay == 1024) && (mode->VDisplay == 768)) ||
++	    ((mode->HDisplay ==  800) && (mode->VDisplay == 600)))) ||
+ 	  ((pSiS->SiS_Pr->SiS_CustomT == CUT_PANEL856) &&
+-	   (((mode->HDisplay == 1024) && (mode->HDisplay == 768)) ||
+-	    ((mode->HDisplay ==  800) && (mode->HDisplay == 600)))) ) {
++	   (((mode->HDisplay == 1024) && (mode->VDisplay == 768)) ||
++	    ((mode->HDisplay ==  800) && (mode->VDisplay == 600)))) ) {
+ 
+ 	 ModeIndex = SiS_GetModeID_LCD(pSiS->VGAEngine, VBFlags, mode->HDisplay, mode->VDisplay, i,
+ 				pSiS->FSTN, pSiS->SiS_Pr->SiS_CustomT, pSiS->LCDwidth, pSiS->LCDheight,
+-- 
+cgit v0.10.2
+From 49796d6a3274adc0250ee07faa6bc63e41c98740 Mon Sep 17 00:00:00 2001
+From: Peter Hutterer <peter.hutterer at who-t.net>
+Date: Fri, 22 Nov 2013 08:21:18 +1000
+Subject: Fix format-security warnings
+
+sis_driver.c: In function 'SISErrorLog':
+sis_driver.c:432:5: error: format not a string literal and no format arguments [-Werror=format-security]
+     xf86DrvMsg(pScrn->scrnIndex, X_ERROR, str);
+     ^
+sis_driver.c:439:5: error: format not a string literal and no format arguments [-Werror=format-security]
+     xf86DrvMsg(pScrn->scrnIndex, X_ERROR, str);
+     ^
+sis_driver.c: In function 'SiSUpdateXineramaScreenInfo':
+sis_driver.c:1917:4: error: format not a string literal and no format arguments [-Werror=format-security]
+    xf86DrvMsg(pScrn1->scrnIndex, X_INFO, rectxine);
+    ^
+sis_driver.c:1924:8: error: format not a string literal and no format arguments [-Werror=format-security]
+        xf86DrvMsg(pScrn1->scrnIndex, X_INFO, rectxine);
+
+Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
+Reviewed-by: Alan Coopersmith <alan.coopersmith at oracle.com>
+
+diff --git a/src/sis_driver.c b/src/sis_driver.c
+index 80b8d51..bd9c4e1 100644
+--- a/src/sis_driver.c
++++ b/src/sis_driver.c
+@@ -429,14 +429,14 @@ SISErrorLog(ScrnInfoPtr pScrn, const char *format, ...)
+     static const char *str = "**************************************************\n";
+ 
+     va_start(ap, format);
+-    xf86DrvMsg(pScrn->scrnIndex, X_ERROR, str);
++    xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "%s", str);
+     xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
+ 	"                      ERROR:\n");
+     xf86VDrvMsgVerb(pScrn->scrnIndex, X_ERROR, 1, format, ap);
+     va_end(ap);
+     xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
+ 	"                  END OF MESSAGE\n");
+-    xf86DrvMsg(pScrn->scrnIndex, X_ERROR, str);
++    xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "%s", str);
+ }
+ 
+ static void
+@@ -1914,14 +1914,14 @@ SiSUpdateXineramaScreenInfo(ScrnInfoPtr pScrn1)
+        if(infochanged && !usenonrect) {
+ 	  xf86DrvMsg(pScrn1->scrnIndex, X_INFO,
+ 			"Virtual screen size does not match maximum display modes...\n");
+-	  xf86DrvMsg(pScrn1->scrnIndex, X_INFO, rectxine);
++	  xf86DrvMsg(pScrn1->scrnIndex, X_INFO, "%s", rectxine);
+ 
+        }
+     } else if(infochanged && usenonrect) {
+        usenonrect = FALSE;
+        xf86DrvMsg(pScrn1->scrnIndex, X_INFO,
+ 		"Only clone modes available for this virtual screen size...\n");
+-       xf86DrvMsg(pScrn1->scrnIndex, X_INFO, rectxine);
++       xf86DrvMsg(pScrn1->scrnIndex, X_INFO, "%s", rectxine);
+     }
+ 
+     if(pSiS->maxCRT1_X1) {		/* Means we have at least one non-clone mode */
+-- 
+cgit v0.10.2
+From d0550de19cacab3e591641ba358a72fbc798b231 Mon Sep 17 00:00:00 2001
+From: Dave Airlie <airlied at redhat.com>
+Date: Mon, 22 Sep 2014 12:45:02 +1000
+Subject: sis: fix build against latest xserver
+
+
+diff --git a/src/sis.h b/src/sis.h
+index 20e6134..385b784 100644
+--- a/src/sis.h
++++ b/src/sis.h
+@@ -1004,7 +1004,9 @@ typedef struct {
+     ScrnInfoPtr		pScrn;
+     pciVideoPtr		PciInfo;
+     int			PciBus, PciDevice, PciFunc;
++#ifndef XSERVER_LIBPCIACCESS
+     PCITAG		PciTag;
++#endif
+     EntityInfoPtr	pEnt;
+     int			Chipset;
+     unsigned char	ChipType;
+diff --git a/src/vstruct.h b/src/vstruct.h
+index 88f7eb6..5d7a98d 100644
+--- a/src/vstruct.h
++++ b/src/vstruct.h
+@@ -237,8 +237,10 @@ struct SiS_Private
+ 	unsigned char			ChipType;
+ 	unsigned char			ChipRevision;
+ #ifdef SIS_XORG_XF86
++#ifndef XSERVER_LIBPCIACCESS
+ 	PCITAG				PciTag;
+ #endif
++#endif
+ #ifdef SIS_LINUX_KERNEL
+ 	void				*ivideo;
+ #endif
+-- 
+cgit v0.10.2
+From d2597696ba81862d80ec17b978d8370c58572e27 Mon Sep 17 00:00:00 2001
+From: Dave Airlie <airlied at redhat.com>
+Date: Wed, 12 Nov 2014 08:04:21 +1000
+Subject: sis: more build fixes against master X server.
+
+
+diff --git a/src/sis_driver.c b/src/sis_driver.c
+index bd9c4e1..125eee7 100644
+--- a/src/sis_driver.c
++++ b/src/sis_driver.c
+@@ -3279,9 +3279,11 @@ SISPreInit(ScrnInfoPtr pScrn, int flags)
+     pSiS->PciDevice = PCI_CFG_DEV(pSiS->PciInfo); /*SIS_PCI_DEVICE(pSiS->PciInfo);*/
+     pSiS->PciFunc = PCI_CFG_FUNC(pSiS->PciInfo);  /*SIS_PCI_FUNC(pSiS->PciInfo);*/
+ 
++#ifndef XSERVER_LIBPCIACCESS
+     pSiS->PciTag = pciTag(PCI_DEV_BUS(pSiS->PciInfo),
+ 			  PCI_DEV_DEV(pSiS->PciInfo),
+ 			  PCI_DEV_FUNC(pSiS->PciInfo));
++#endif
+ 
+ #ifdef SIS_NEED_MAP_IOP
+     /********************************************/
+@@ -3905,7 +3907,9 @@ SISPreInit(ScrnInfoPtr pScrn, int flags)
+        if(pSiSEnt) pSiSEnt->SiS_Pr = pSiS->SiS_Pr;
+ #endif
+        memset(pSiS->SiS_Pr, 0, sizeof(struct SiS_Private));
++#ifndef XSERVER_LIBPCIACCESS
+        pSiS->SiS_Pr->PciTag = pSiS->PciTag;
++#endif
+        pSiS->SiS_Pr->ChipType = pSiS->ChipType;
+        pSiS->SiS_Pr->ChipRevision = pSiS->ChipRev;
+        pSiS->SiS_Pr->SiS_Backup70xx = 0xff;
+@@ -7134,7 +7138,9 @@ static Bool
+ SISMapMem(ScrnInfoPtr pScrn)
+ {
+     SISPtr pSiS = SISPTR(pScrn);
++#ifndef XSERVER_LIBPCIACCESS
+     int mmioFlags = VIDMEM_MMIO;
++#endif
+ #ifdef SISDUALHEAD
+     SISEntPtr pSiSEnt = pSiS->entityPrivate;
+ #endif
+@@ -7144,9 +7150,11 @@ SISMapMem(ScrnInfoPtr pScrn)
+      * (For Alpha, we need to map SPARSE memory, since we need
+      * byte/short access.)
+      */
++#ifndef XSERVER_LIBPCIACCESS
+ #if defined(__alpha__)
+     mmioFlags |= VIDMEM_SPARSE;
+ #endif
++#endif
+ 
+ #ifdef SISDUALHEAD
+     if(pSiS->DualHeadMode) {
+@@ -14017,6 +14025,7 @@ SiS_GetSetBIOSScratch(ScrnInfoPtr pScrn, UShort offset, UChar value)
+        break;
+     }
+ 
++#ifndef XSERVER_LIBPCIACCESS
+ #ifdef SIS_USE_BIOS_SCRATCH
+     if(SISPTR(pScrn)->Primary) {
+        base = xf86MapVidMem(pScrn->scrnIndex, VIDMEM_MMIO, 0, 0x2000);
+@@ -14035,6 +14044,7 @@ SiS_GetSetBIOSScratch(ScrnInfoPtr pScrn, UShort offset, UChar value)
+        xf86UnMapVidMem(pScrn->scrnIndex, base, 0x2000);
+     }
+ #endif
++#endif
+     return ret;
+ }
+ 
+-- 
+cgit v0.10.2
+From 0f50f8c3db2b9f1c9d4ecab8ad278e9db6418a92 Mon Sep 17 00:00:00 2001
+From: Dave Airlie <airlied at redhat.com>
+Date: Wed, 12 Nov 2014 09:27:33 +1000
+Subject: sis: force build, who uses this crazy code anyways
+
+
+diff --git a/src/sis_driver.c b/src/sis_driver.c
+index 125eee7..854cb54 100644
+--- a/src/sis_driver.c
++++ b/src/sis_driver.c
+@@ -9385,6 +9385,7 @@ SISMergedPointerMoved(SCRN_ARG_TYPE arg, int x, int y)
+ 	}
+      }
+      if(doit) {
++#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) < 20 /* screw it */
+ 	sigstate = xf86BlockSIGIO();
+ #if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 15
+         {
+@@ -9402,6 +9403,7 @@ SISMergedPointerMoved(SCRN_ARG_TYPE arg, int x, int y)
+ 	miPointerAbsoluteCursor(x, y, currentTime.milliseconds);
+ #endif
+ 	xf86UnblockSIGIO(sigstate);
++#endif
+ 	return;
+      }
+   }
+-- 
+cgit v0.10.2
+

Copied: xf86-video-sis/repos/testing-x86_64/0001-Disable-UploadToScreen-and-DownloadFromScreen.patch (from rev 231256, xf86-video-sis/repos/staging-x86_64/0001-Disable-UploadToScreen-and-DownloadFromScreen.patch)
===================================================================
--- testing-x86_64/0001-Disable-UploadToScreen-and-DownloadFromScreen.patch	                        (rev 0)
+++ testing-x86_64/0001-Disable-UploadToScreen-and-DownloadFromScreen.patch	2015-02-11 08:51:17 UTC (rev 231278)
@@ -0,0 +1,66 @@
+From c0ff117d3e19e14829a21d89673e03f9d6389043 Mon Sep 17 00:00:00 2001
+From: Jan de Groot <jgc at archlinux.org>
+Date: Thu, 22 Nov 2012 15:04:42 +0100
+Subject: [PATCH] Disable UploadToScreen and DownloadFromScreen. These
+ functions use invalid pointers, causing crashes. As the
+ driver is technically unmaintained, it's better to rely on
+ software fallback than trying to fix the driver
+ implementation.
+
+---
+ src/sis300_accel.c | 2 ++
+ src/sis310_accel.c | 2 ++
+ src/sis_accel.c    | 2 ++
+ 3 files changed, 6 insertions(+)
+
+diff --git a/src/sis300_accel.c b/src/sis300_accel.c
+index af0527d..2162d76 100644
+--- a/src/sis300_accel.c
++++ b/src/sis300_accel.c
+@@ -1273,9 +1273,11 @@ SiS300AccelInit(ScreenPtr pScreen)
+ 
+ 		 /* Composite not supported */
+ 
++#if 0
+ 		 /* Upload, download to/from Screen */
+ 		 pSiS->EXADriverPtr->UploadToScreen = SiSUploadToScreen;
+ 		 pSiS->EXADriverPtr->DownloadFromScreen = SiSDownloadFromScreen;
++#endif
+ 
+ 	      } else {
+ 
+diff --git a/src/sis310_accel.c b/src/sis310_accel.c
+index 1a6f639..20106ce 100644
+--- a/src/sis310_accel.c
++++ b/src/sis310_accel.c
+@@ -2303,9 +2303,11 @@ SiS315AccelInit(ScreenPtr pScreen)
+ 	      }
+ #endif
+ 
++#if 0
+ 	      /* Upload, download to/from Screen */
+ 	      pSiS->EXADriverPtr->UploadToScreen = SiSUploadToScreen;
+ 	      pSiS->EXADriverPtr->DownloadFromScreen = SiSDownloadFromScreen;
++#endif
+ 
+ 	   }
+ #endif
+diff --git a/src/sis_accel.c b/src/sis_accel.c
+index c2c24c7..bb08296 100644
+--- a/src/sis_accel.c
++++ b/src/sis_accel.c
+@@ -801,9 +801,11 @@ SiSAccelInit(ScreenPtr pScreen)
+ 
+ 	  /* Composite not supported */
+ 
++#if 0
+ 	  /* Upload, download to/from Screen */
+ 	  pSiS->EXADriverPtr->UploadToScreen = SiSUploadToScreen;
+ 	  pSiS->EXADriverPtr->DownloadFromScreen = SiSDownloadFromScreen;
++#endif
+ 
+        }
+ #endif /* EXA */
+-- 
+1.8.0
+

Copied: xf86-video-sis/repos/testing-x86_64/PKGBUILD (from rev 231256, xf86-video-sis/repos/staging-x86_64/PKGBUILD)
===================================================================
--- testing-x86_64/PKGBUILD	                        (rev 0)
+++ testing-x86_64/PKGBUILD	2015-02-11 08:51:17 UTC (rev 231278)
@@ -0,0 +1,44 @@
+# $Id$
+# Maintainer: Jan de Groot <jgc at archlinux.org>
+
+pkgname=xf86-video-sis
+pkgver=0.10.7
+pkgrel=7
+pkgdesc="X.org SiS video driver"
+arch=(i686 x86_64)
+url="http://xorg.freedesktop.org/"
+license=('custom')
+depends=('glibc')
+makedepends=('xorg-server-devel' 'X-ABI-VIDEODRV_VERSION=19' 'xf86dgaproto')
+conflicts=('xorg-server<1.16' 'X-ABI-VIDEODRV_VERSION<19' 'X-ABI-VIDEODRV_VERSION>=20')
+optdepends=('sis-dri: DRI1 support from community repo')
+groups=('xorg-drivers' 'xorg')
+source=(${url}/releases/individual/driver/${pkgname}-${pkgver}.tar.bz2
+	0001-Disable-UploadToScreen-and-DownloadFromScreen.patch
+	git-fixes.patch
+	Xi.patch)
+sha256sums=('be2eb6acba081e88dabc5be9db379e3da89a4d4edeb68064f204bf343a411cd0'
+            '3108c60b3030c894fbdb1426b05d7a8281e5fa4f385e1a80e22c8813a3fb6f5b'
+            'a340653dbe1bbd0fff1b881b1245793149d46a397baf51264ce9a42e1a254eab'
+            '7a1a0b784664a0f011bd13395be1854dee407e901d2707ab1a6b8d20caa0a672')
+
+prepare() {
+  cd ${pkgname}-${pkgver}
+  patch -Np1 -i "${srcdir}/0001-Disable-UploadToScreen-and-DownloadFromScreen.patch"
+  patch -Np1 -i ${srcdir}/git-fixes.patch
+  patch -Np1 -i ${srcdir}/Xi.patch
+}
+
+build() {
+  cd ${pkgname}-${pkgver}
+  ./configure --prefix=/usr
+  make
+}
+
+package() {
+  cd ${pkgname}-${pkgver}
+  make DESTDIR="${pkgdir}" install
+
+  install -m755 -d "${pkgdir}/usr/share/licenses/${pkgname}"
+  install -m644 COPYING "${pkgdir}/usr/share/licenses/${pkgname}/"
+}

Copied: xf86-video-sis/repos/testing-x86_64/Xi.patch (from rev 231256, xf86-video-sis/repos/staging-x86_64/Xi.patch)
===================================================================
--- testing-x86_64/Xi.patch	                        (rev 0)
+++ testing-x86_64/Xi.patch	2015-02-11 08:51:17 UTC (rev 231278)
@@ -0,0 +1,19 @@
+--- xf86-video-sis-0.10.7/src/sis_driver.c	2013-03-10 13:57:50.000000000 +0100
++++ xf86-video-sis-0.10.7/src/sis_driver.c.new	2013-03-10 13:54:48.645203559 +0100
+@@ -9378,7 +9378,15 @@
+      }
+      if(doit) {
+ 	sigstate = xf86BlockSIGIO();
+-#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 15
++#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 18
++        {
++            double dx = x, dy = y;
++            miPointerSetPosition(inputInfo.pointer, Absolute, &dx, &dy,
++                NULL, NULL);
++            x = (int)dx;
++            y = (int)dy;
++        }
++#elif GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 15
+         {
+             double dx = x, dy = y;
+             miPointerSetPosition(inputInfo.pointer, Absolute, &dx, &dy);

Copied: xf86-video-sis/repos/testing-x86_64/git-fixes.patch (from rev 231256, xf86-video-sis/repos/staging-x86_64/git-fixes.patch)
===================================================================
--- testing-x86_64/git-fixes.patch	                        (rev 0)
+++ testing-x86_64/git-fixes.patch	2015-02-11 08:51:17 UTC (rev 231278)
@@ -0,0 +1,389 @@
+From 339fb3bc032b9f35b07b90480ae82a0fd352e078 Mon Sep 17 00:00:00 2001
+From: Jan Lindemann <jan at jannet.de>
+Date: Thu, 30 Aug 2012 18:09:10 +0000
+Subject: Replace xf86UnMapVidMem with pci_device_unmap_range
+
+Mixing pci_device_map_range with xf86UnMapVidMem doesn't work too well.
+
+X.Org bug#18028 <https://bugs.freedesktop.org/show_bug.cgi?id=18028>
+
+Bug found by Bryan Henderson <bryanh at giraffe-data.com>
+
+Signed-off-by: Julien Cristau <jcristau at debian.org>
+---
+diff --git a/src/sis_driver.c b/src/sis_driver.c
+index 61e8075..4c9b9cb 100644
+--- a/src/sis_driver.c
++++ b/src/sis_driver.c
+@@ -7344,7 +7344,11 @@ SISUnmapMem(ScrnInfoPtr pScrn)
+         if(pSiSEnt->MapCountIOBase) {
+ 	    pSiSEnt->MapCountIOBase--;
+ 	    if((pSiSEnt->MapCountIOBase == 0) || (pSiSEnt->forceUnmapIOBase)) {
++#ifndef XSERVER_LIBPCIACCESS
+ 		xf86UnMapVidMem(pScrn->scrnIndex, (pointer)pSiSEnt->IOBase, (pSiS->mmioSize * 1024));
++#else
++	        pci_device_unmap_range(pSiS->PciInfo, pSiSEnt->IOBase, (pSiS->mmioSize * 1024));
++#endif
+ 		pSiSEnt->IOBase = NULL;
+ 		pSiSEnt->MapCountIOBase = 0;
+ 		pSiSEnt->forceUnmapIOBase = FALSE;
+@@ -7355,7 +7359,11 @@ SISUnmapMem(ScrnInfoPtr pScrn)
+ 	if(pSiSEnt->MapCountIOBaseDense) {
+ 	    pSiSEnt->MapCountIOBaseDense--;
+ 	    if((pSiSEnt->MapCountIOBaseDense == 0) || (pSiSEnt->forceUnmapIOBaseDense)) {
++#ifndef XSERVER_LIBPCIACCESS
+ 		xf86UnMapVidMem(pScrn->scrnIndex, (pointer)pSiSEnt->IOBaseDense, (pSiS->mmioSize * 1024));
++#else
++		pci_device_unmap_range(pSiS->PciInfo, (pointer)pSiSEnt->IOBaseDense, (pSiS->mmioSize * 1024));
++#endif
+ 		pSiSEnt->IOBaseDense = NULL;
+ 		pSiSEnt->MapCountIOBaseDense = 0;
+ 		pSiSEnt->forceUnmapIOBaseDense = FALSE;
+@@ -7366,7 +7374,11 @@ SISUnmapMem(ScrnInfoPtr pScrn)
+ 	if(pSiSEnt->MapCountFbBase) {
+ 	    pSiSEnt->MapCountFbBase--;
+ 	    if((pSiSEnt->MapCountFbBase == 0) || (pSiSEnt->forceUnmapFbBase)) {
++#ifndef XSERVER_LIBPCIACCESS
+ 		xf86UnMapVidMem(pScrn->scrnIndex, (pointer)pSiSEnt->RealFbBase, pSiS->FbMapSize);
++#else
++		pci_device_unmap_range(pSiS->PciInfo, (pointer)pSiSEnt->RealFbBase, pSiS->FbMapSize);
++#endif
+ 		pSiSEnt->FbBase = pSiSEnt->RealFbBase = NULL;
+ 		pSiSEnt->MapCountFbBase = 0;
+ 		pSiSEnt->forceUnmapFbBase = FALSE;
+@@ -7376,13 +7388,25 @@ SISUnmapMem(ScrnInfoPtr pScrn)
+ 	}
+     } else {
+ #endif
++#ifndef XSERVER_LIBPCIACCESS
+ 	xf86UnMapVidMem(pScrn->scrnIndex, (pointer)pSiS->IOBase, (pSiS->mmioSize * 1024));
++#else
++	pci_device_unmap_range(pSiS->PciInfo, (pointer)pSiS->IOBase, (pSiS->mmioSize * 1024));
++#endif
+ 	pSiS->IOBase = NULL;
+ #ifdef __alpha__
++#ifndef XSERVER_LIBPCIACCESS
+ 	xf86UnMapVidMem(pScrn->scrnIndex, (pointer)pSiS->IOBaseDense, (pSiS->mmioSize * 1024));
++#else
++	pci_device_unmap_range(pSiS->PciInfo, (pointer)pSiS->IOBaseDense, (pSiS->mmioSize * 1024));
++#endif
+ 	pSiS->IOBaseDense = NULL;
+ #endif
++#ifndef XSERVER_LIBPCIACCESS
+ 	xf86UnMapVidMem(pScrn->scrnIndex, (pointer)pSiS->RealFbBase, pSiS->FbMapSize);
++#else
++	pci_device_unmap_range(pSiS->PciInfo, (pointer)pSiS->RealFbBase, pSiS->FbMapSize);
++#endif
+ 	pSiS->FbBase = pSiS->RealFbBase = NULL;
+ #ifdef SISDUALHEAD
+     }
+--
+cgit v0.9.0.2-2-gbebe
+From 926d4f655c8491b68a338f50c810f6729686ec9f Mon Sep 17 00:00:00 2001
+From: Adam Jackson <ajax at redhat.com>
+Date: Tue, 25 Sep 2012 12:54:51 +0000
+Subject: Remove mibstore.h
+
+Signed-off-by: Adam Jackson <ajax at redhat.com>
+---
+diff --git a/src/sis_driver.c b/src/sis_driver.c
+index 4c9b9cb..46cfefd 100644
+--- a/src/sis_driver.c
++++ b/src/sis_driver.c
+@@ -57,7 +57,6 @@
+ #include "fb.h"
+ #include "micmap.h"
+ #include "mipointer.h"
+-#include "mibstore.h"
+ #include "edid.h"
+ 
+ #define SIS_NEED_inSISREG
+@@ -8883,7 +8882,6 @@ SISScreenInit(SCREEN_INIT_ARGS_DECL)
+     }
+     pSiS->SiSFastVidCopyDone = TRUE;
+ 
+-    miInitializeBackingStore(pScreen);
+     xf86SetBackingStore(pScreen);
+     xf86SetSilkenMouse(pScreen);
+ 
+--
+cgit v0.9.0.2-2-gbebe
+From 7d4402786b758de3e6ce2641e15a39d612d5c518 Mon Sep 17 00:00:00 2001
+From: Adam Jackson <ajax at redhat.com>
+Date: Mon, 15 Oct 2012 23:11:30 +0000
+Subject: Stop including xf86Priv.h
+
+As the name might suggest, it's server-private.
+
+Signed-off-by: Adam Jackson <ajax at redhat.com>
+---
+diff --git a/src/sis.h b/src/sis.h
+index 46fca2a..20e6134 100644
+--- a/src/sis.h
++++ b/src/sis.h
+@@ -75,7 +75,6 @@
+ 
+ #include "compiler.h"
+ #include "xf86Pci.h"
+-#include "xf86Priv.h"
+ #include "xf86_OSproc.h"
+ #if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 6
+ #include "xf86Resources.h"
+diff --git a/src/sis_driver.c b/src/sis_driver.c
+index 46cfefd..cefe503 100644
+--- a/src/sis_driver.c
++++ b/src/sis_driver.c
+@@ -93,6 +93,10 @@
+ #include "dri.h"
+ #endif
+ 
++#ifndef DEFAULT_DPI
++#define DEFAULT_DPI 96
++#endif
++
+ /*
+  * LookupWindow was removed with video abi 11.
+  */
+--
+cgit v0.9.0.2-2-gbebe
+From 0a4336efaafac4c34d4287b5df586bbb418f7f76 Mon Sep 17 00:00:00 2001
+From: Alan Coopersmith <alan.coopersmith at oracle.com>
+Date: Sat, 26 Oct 2013 14:27:17 -0700
+Subject: Fix HDisplay/VDisplay typos
+
+Found by gcc -Wlogicalops:
+
+sis_driver.c: In function 'SiS_CheckModeCRT2':
+sis_driver.c:13754:5: warning: logical 'and' of mutually exclusive tests is always false [-Wlogical-op]
+sis_driver.c:13755:6: warning: logical 'and' of mutually exclusive tests is always false [-Wlogical-op]
+sis_driver.c:13756:6: warning: logical 'and' of mutually exclusive tests is always false [-Wlogical-op]
+sis_driver.c:13758:5: warning: logical 'and' of mutually exclusive tests is always false [-Wlogical-op]
+sis_driver.c:13759:6: warning: logical 'and' of mutually exclusive tests is always false [-Wlogical-op]
+
+Signed-off-by: Alan Coopersmith <alan.coopersmith at oracle.com>
+Reviewed-by: Gaetan Nadon <memsize at videotron.ca>
+
+diff --git a/src/sis_driver.c b/src/sis_driver.c
+index cefe503..80b8d51 100644
+--- a/src/sis_driver.c
++++ b/src/sis_driver.c
+@@ -13751,12 +13751,12 @@ SiS_CheckModeCRT2(ScrnInfoPtr pScrn, DisplayModePtr mode, unsigned int VBFlags,
+       if( ((mode->HDisplay <= pSiS->LCDwidth) &&
+            (mode->VDisplay <= pSiS->LCDheight)) ||
+ 	  ((pSiS->SiS_Pr->SiS_CustomT == CUT_PANEL848) &&
+-	   (((mode->HDisplay == 1360) && (mode->HDisplay == 768)) ||
+-	    ((mode->HDisplay == 1024) && (mode->HDisplay == 768)) ||
+-	    ((mode->HDisplay ==  800) && (mode->HDisplay == 600)))) ||
++	   (((mode->HDisplay == 1360) && (mode->VDisplay == 768)) ||
++	    ((mode->HDisplay == 1024) && (mode->VDisplay == 768)) ||
++	    ((mode->HDisplay ==  800) && (mode->VDisplay == 600)))) ||
+ 	  ((pSiS->SiS_Pr->SiS_CustomT == CUT_PANEL856) &&
+-	   (((mode->HDisplay == 1024) && (mode->HDisplay == 768)) ||
+-	    ((mode->HDisplay ==  800) && (mode->HDisplay == 600)))) ) {
++	   (((mode->HDisplay == 1024) && (mode->VDisplay == 768)) ||
++	    ((mode->HDisplay ==  800) && (mode->VDisplay == 600)))) ) {
+ 
+ 	 ModeIndex = SiS_GetModeID_LCD(pSiS->VGAEngine, VBFlags, mode->HDisplay, mode->VDisplay, i,
+ 				pSiS->FSTN, pSiS->SiS_Pr->SiS_CustomT, pSiS->LCDwidth, pSiS->LCDheight,
+-- 
+cgit v0.10.2
+From 49796d6a3274adc0250ee07faa6bc63e41c98740 Mon Sep 17 00:00:00 2001
+From: Peter Hutterer <peter.hutterer at who-t.net>
+Date: Fri, 22 Nov 2013 08:21:18 +1000
+Subject: Fix format-security warnings
+
+sis_driver.c: In function 'SISErrorLog':
+sis_driver.c:432:5: error: format not a string literal and no format arguments [-Werror=format-security]
+     xf86DrvMsg(pScrn->scrnIndex, X_ERROR, str);
+     ^
+sis_driver.c:439:5: error: format not a string literal and no format arguments [-Werror=format-security]
+     xf86DrvMsg(pScrn->scrnIndex, X_ERROR, str);
+     ^
+sis_driver.c: In function 'SiSUpdateXineramaScreenInfo':
+sis_driver.c:1917:4: error: format not a string literal and no format arguments [-Werror=format-security]
+    xf86DrvMsg(pScrn1->scrnIndex, X_INFO, rectxine);
+    ^
+sis_driver.c:1924:8: error: format not a string literal and no format arguments [-Werror=format-security]
+        xf86DrvMsg(pScrn1->scrnIndex, X_INFO, rectxine);
+
+Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
+Reviewed-by: Alan Coopersmith <alan.coopersmith at oracle.com>
+
+diff --git a/src/sis_driver.c b/src/sis_driver.c
+index 80b8d51..bd9c4e1 100644
+--- a/src/sis_driver.c
++++ b/src/sis_driver.c
+@@ -429,14 +429,14 @@ SISErrorLog(ScrnInfoPtr pScrn, const char *format, ...)
+     static const char *str = "**************************************************\n";
+ 
+     va_start(ap, format);
+-    xf86DrvMsg(pScrn->scrnIndex, X_ERROR, str);
++    xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "%s", str);
+     xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
+ 	"                      ERROR:\n");
+     xf86VDrvMsgVerb(pScrn->scrnIndex, X_ERROR, 1, format, ap);
+     va_end(ap);
+     xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
+ 	"                  END OF MESSAGE\n");
+-    xf86DrvMsg(pScrn->scrnIndex, X_ERROR, str);
++    xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "%s", str);
+ }
+ 
+ static void
+@@ -1914,14 +1914,14 @@ SiSUpdateXineramaScreenInfo(ScrnInfoPtr pScrn1)
+        if(infochanged && !usenonrect) {
+ 	  xf86DrvMsg(pScrn1->scrnIndex, X_INFO,
+ 			"Virtual screen size does not match maximum display modes...\n");
+-	  xf86DrvMsg(pScrn1->scrnIndex, X_INFO, rectxine);
++	  xf86DrvMsg(pScrn1->scrnIndex, X_INFO, "%s", rectxine);
+ 
+        }
+     } else if(infochanged && usenonrect) {
+        usenonrect = FALSE;
+        xf86DrvMsg(pScrn1->scrnIndex, X_INFO,
+ 		"Only clone modes available for this virtual screen size...\n");
+-       xf86DrvMsg(pScrn1->scrnIndex, X_INFO, rectxine);
++       xf86DrvMsg(pScrn1->scrnIndex, X_INFO, "%s", rectxine);
+     }
+ 
+     if(pSiS->maxCRT1_X1) {		/* Means we have at least one non-clone mode */
+-- 
+cgit v0.10.2
+From d0550de19cacab3e591641ba358a72fbc798b231 Mon Sep 17 00:00:00 2001
+From: Dave Airlie <airlied at redhat.com>
+Date: Mon, 22 Sep 2014 12:45:02 +1000
+Subject: sis: fix build against latest xserver
+
+
+diff --git a/src/sis.h b/src/sis.h
+index 20e6134..385b784 100644
+--- a/src/sis.h
++++ b/src/sis.h
+@@ -1004,7 +1004,9 @@ typedef struct {
+     ScrnInfoPtr		pScrn;
+     pciVideoPtr		PciInfo;
+     int			PciBus, PciDevice, PciFunc;
++#ifndef XSERVER_LIBPCIACCESS
+     PCITAG		PciTag;
++#endif
+     EntityInfoPtr	pEnt;
+     int			Chipset;
+     unsigned char	ChipType;
+diff --git a/src/vstruct.h b/src/vstruct.h
+index 88f7eb6..5d7a98d 100644
+--- a/src/vstruct.h
++++ b/src/vstruct.h
+@@ -237,8 +237,10 @@ struct SiS_Private
+ 	unsigned char			ChipType;
+ 	unsigned char			ChipRevision;
+ #ifdef SIS_XORG_XF86
++#ifndef XSERVER_LIBPCIACCESS
+ 	PCITAG				PciTag;
+ #endif
++#endif
+ #ifdef SIS_LINUX_KERNEL
+ 	void				*ivideo;
+ #endif
+-- 
+cgit v0.10.2
+From d2597696ba81862d80ec17b978d8370c58572e27 Mon Sep 17 00:00:00 2001
+From: Dave Airlie <airlied at redhat.com>
+Date: Wed, 12 Nov 2014 08:04:21 +1000
+Subject: sis: more build fixes against master X server.
+
+
+diff --git a/src/sis_driver.c b/src/sis_driver.c
+index bd9c4e1..125eee7 100644
+--- a/src/sis_driver.c
++++ b/src/sis_driver.c
+@@ -3279,9 +3279,11 @@ SISPreInit(ScrnInfoPtr pScrn, int flags)
+     pSiS->PciDevice = PCI_CFG_DEV(pSiS->PciInfo); /*SIS_PCI_DEVICE(pSiS->PciInfo);*/
+     pSiS->PciFunc = PCI_CFG_FUNC(pSiS->PciInfo);  /*SIS_PCI_FUNC(pSiS->PciInfo);*/
+ 
++#ifndef XSERVER_LIBPCIACCESS
+     pSiS->PciTag = pciTag(PCI_DEV_BUS(pSiS->PciInfo),
+ 			  PCI_DEV_DEV(pSiS->PciInfo),
+ 			  PCI_DEV_FUNC(pSiS->PciInfo));
++#endif
+ 
+ #ifdef SIS_NEED_MAP_IOP
+     /********************************************/
+@@ -3905,7 +3907,9 @@ SISPreInit(ScrnInfoPtr pScrn, int flags)
+        if(pSiSEnt) pSiSEnt->SiS_Pr = pSiS->SiS_Pr;
+ #endif
+        memset(pSiS->SiS_Pr, 0, sizeof(struct SiS_Private));
++#ifndef XSERVER_LIBPCIACCESS
+        pSiS->SiS_Pr->PciTag = pSiS->PciTag;
++#endif
+        pSiS->SiS_Pr->ChipType = pSiS->ChipType;
+        pSiS->SiS_Pr->ChipRevision = pSiS->ChipRev;
+        pSiS->SiS_Pr->SiS_Backup70xx = 0xff;
+@@ -7134,7 +7138,9 @@ static Bool
+ SISMapMem(ScrnInfoPtr pScrn)
+ {
+     SISPtr pSiS = SISPTR(pScrn);
++#ifndef XSERVER_LIBPCIACCESS
+     int mmioFlags = VIDMEM_MMIO;
++#endif
+ #ifdef SISDUALHEAD
+     SISEntPtr pSiSEnt = pSiS->entityPrivate;
+ #endif
+@@ -7144,9 +7150,11 @@ SISMapMem(ScrnInfoPtr pScrn)
+      * (For Alpha, we need to map SPARSE memory, since we need
+      * byte/short access.)
+      */
++#ifndef XSERVER_LIBPCIACCESS
+ #if defined(__alpha__)
+     mmioFlags |= VIDMEM_SPARSE;
+ #endif
++#endif
+ 
+ #ifdef SISDUALHEAD
+     if(pSiS->DualHeadMode) {
+@@ -14017,6 +14025,7 @@ SiS_GetSetBIOSScratch(ScrnInfoPtr pScrn, UShort offset, UChar value)
+        break;
+     }
+ 
++#ifndef XSERVER_LIBPCIACCESS
+ #ifdef SIS_USE_BIOS_SCRATCH
+     if(SISPTR(pScrn)->Primary) {
+        base = xf86MapVidMem(pScrn->scrnIndex, VIDMEM_MMIO, 0, 0x2000);
+@@ -14035,6 +14044,7 @@ SiS_GetSetBIOSScratch(ScrnInfoPtr pScrn, UShort offset, UChar value)
+        xf86UnMapVidMem(pScrn->scrnIndex, base, 0x2000);
+     }
+ #endif
++#endif
+     return ret;
+ }
+ 
+-- 
+cgit v0.10.2
+From 0f50f8c3db2b9f1c9d4ecab8ad278e9db6418a92 Mon Sep 17 00:00:00 2001
+From: Dave Airlie <airlied at redhat.com>
+Date: Wed, 12 Nov 2014 09:27:33 +1000
+Subject: sis: force build, who uses this crazy code anyways
+
+
+diff --git a/src/sis_driver.c b/src/sis_driver.c
+index 125eee7..854cb54 100644
+--- a/src/sis_driver.c
++++ b/src/sis_driver.c
+@@ -9385,6 +9385,7 @@ SISMergedPointerMoved(SCRN_ARG_TYPE arg, int x, int y)
+ 	}
+      }
+      if(doit) {
++#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) < 20 /* screw it */
+ 	sigstate = xf86BlockSIGIO();
+ #if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 15
+         {
+@@ -9402,6 +9403,7 @@ SISMergedPointerMoved(SCRN_ARG_TYPE arg, int x, int y)
+ 	miPointerAbsoluteCursor(x, y, currentTime.milliseconds);
+ #endif
+ 	xf86UnblockSIGIO(sigstate);
++#endif
+ 	return;
+      }
+   }
+-- 
+cgit v0.10.2
+



More information about the arch-commits mailing list