summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--x11/xf86-video-apm/distinfo3
-rw-r--r--x11/xf86-video-apm/patches/patch-src_apm.h23
-rw-r--r--x11/xf86-video-ark/distinfo3
-rw-r--r--x11/xf86-video-ark/patches/patch-src_ark__driver.c35
-rw-r--r--x11/xf86-video-ati6/Makefile7
-rw-r--r--x11/xf86-video-ati6/distinfo8
-rw-r--r--x11/xf86-video-ati6/patches/patch-configure.ac33
-rw-r--r--x11/xf86-video-ati6/patches/patch-src_radeon__driver.c14
-rw-r--r--x11/xf86-video-ati6/patches/patch-src_radeon__mm__i2c.c69
-rw-r--r--x11/xf86-video-ati6/patches/patch-src_radeon__video.c198
-rw-r--r--x11/xf86-video-ati6/patches/patch-src_radeon__video.h33
-rw-r--r--x11/xf86-video-chips/distinfo6
-rw-r--r--x11/xf86-video-chips/patches/patch-configure4
-rw-r--r--x11/xf86-video-chips/patches/patch-src_ct__ddc.c37
-rw-r--r--x11/xf86-video-chips/patches/patch-src_ct__driver.c91
-rw-r--r--x11/xf86-video-cirrus/distinfo5
-rw-r--r--x11/xf86-video-cirrus/patches/patch-src_alp__driver.c25
-rw-r--r--x11/xf86-video-cirrus/patches/patch-src_cir.h23
-rw-r--r--x11/xf86-video-cirrus/patches/patch-src_lg__driver.c25
-rw-r--r--x11/xf86-video-glint/distinfo3
-rw-r--r--x11/xf86-video-glint/patches/patch-src_glint__driver.c29
-rw-r--r--x11/xf86-video-i128/distinfo3
-rw-r--r--x11/xf86-video-i128/patches/patch-src_i128__driver.c29
-rw-r--r--x11/xf86-video-mach64/distinfo4
-rw-r--r--x11/xf86-video-mach64/patches/patch-src_atimach64probe.c61
-rw-r--r--x11/xf86-video-mach64/patches/patch-src_atipreinit.c27
-rw-r--r--x11/xf86-video-neomagic/distinfo3
-rw-r--r--x11/xf86-video-neomagic/patches/patch-src_neo__driver.c92
-rw-r--r--x11/xf86-video-nv/distinfo7
-rw-r--r--x11/xf86-video-nv/patches/patch-src_g80__driver.c29
-rw-r--r--x11/xf86-video-nv/patches/patch-src_nv__driver.c21
-rw-r--r--x11/xf86-video-nv/patches/patch-src_nv__include.h38
-rw-r--r--x11/xf86-video-nv/patches/patch-src_riva_driver.c21
-rw-r--r--x11/xf86-video-nv/patches/patch-src_riva_include.h23
-rw-r--r--x11/xf86-video-r128/distinfo7
-rw-r--r--x11/xf86-video-r128/patches/patch-src_r128.h27
-rw-r--r--x11/xf86-video-r128/patches/patch-src_r128__dri.c25
-rw-r--r--x11/xf86-video-r128/patches/patch-src_r128__driver.c56
-rw-r--r--x11/xf86-video-r128/patches/patch-src_r128__probe.c26
-rw-r--r--x11/xf86-video-r128/patches/patch-src_r128__probe.h74
-rw-r--r--x11/xf86-video-rendition/distinfo4
-rw-r--r--x11/xf86-video-rendition/patches/patch-src_rendition.c70
-rw-r--r--x11/xf86-video-rendition/patches/patch-src_rendition.h50
-rw-r--r--x11/xf86-video-s3/distinfo3
-rw-r--r--x11/xf86-video-s3/patches/patch-src_s3__driver.c32
-rw-r--r--x11/xf86-video-s3virge/distinfo3
-rw-r--r--x11/xf86-video-s3virge/patches/patch-src_s3v__driver.c75
-rw-r--r--x11/xf86-video-savage/distinfo5
-rw-r--r--x11/xf86-video-savage/patches/patch-src-savage__driver.h23
-rw-r--r--x11/xf86-video-savage/patches/patch-src_savage__dri.c23
-rw-r--r--x11/xf86-video-savage/patches/patch-src_savage__driver.c38
-rw-r--r--x11/xf86-video-siliconmotion/distinfo6
-rw-r--r--x11/xf86-video-siliconmotion/patches/patch-src_smi.h51
-rw-r--r--x11/xf86-video-siliconmotion/patches/patch-src_smi__driver.c20
-rw-r--r--x11/xf86-video-siliconmotion/patches/patch-src_smi__i2c.c19
-rw-r--r--x11/xf86-video-siliconmotion/patches/patch-src_smilynx__hw.c42
-rw-r--r--x11/xf86-video-sis/distinfo5
-rw-r--r--x11/xf86-video-sis/patches/patch-src_sis.h34
-rw-r--r--x11/xf86-video-sis/patches/patch-src_sis__driver.c246
-rw-r--r--x11/xf86-video-sis/patches/patch-src_vstruct.h20
-rw-r--r--x11/xf86-video-tga/distinfo4
-rw-r--r--x11/xf86-video-tga/patches/patch-src_tga__accel.c21
-rw-r--r--x11/xf86-video-tga/patches/patch-src_tga__driver.c30
-rw-r--r--x11/xf86-video-trident/Makefile5
-rw-r--r--x11/xf86-video-trident/distinfo8
-rw-r--r--x11/xf86-video-tseng/distinfo3
-rw-r--r--x11/xf86-video-tseng/patches/patch-src_tseng__driver.c31
-rw-r--r--x11/xf86-video-wsfb/Makefile4
-rw-r--r--x11/xf86-video-wsfb/distinfo5
-rw-r--r--x11/xf86-video-wsfb/patches/patch-src_compat-api.h108
-rw-r--r--x11/xf86-video-wsfb/patches/patch-src_wsfb__driver.c282
71 files changed, 2464 insertions, 53 deletions
diff --git a/x11/xf86-video-apm/distinfo b/x11/xf86-video-apm/distinfo
index af0da292754..dc90078674a 100644
--- a/x11/xf86-video-apm/distinfo
+++ b/x11/xf86-video-apm/distinfo
@@ -1,5 +1,6 @@
-$NetBSD: distinfo,v 1.6 2013/05/16 05:58:30 richard Exp $
+$NetBSD: distinfo,v 1.7 2015/04/02 22:16:45 tnn Exp $
SHA1 (xf86-video-apm-1.2.5.tar.bz2) = a4cdb587f94c0fd28bea92b2469ea1e55d6d6589
RMD160 (xf86-video-apm-1.2.5.tar.bz2) = 8a8ef0e08eedc12bb3ee901c3222e7a5d14ed7b4
Size (xf86-video-apm-1.2.5.tar.bz2) = 325277 bytes
+SHA1 (patch-src_apm.h) = d3aa30015f8a3a305cf4076ca356ad2c7a3ae700
diff --git a/x11/xf86-video-apm/patches/patch-src_apm.h b/x11/xf86-video-apm/patches/patch-src_apm.h
new file mode 100644
index 00000000000..43a1efd41c2
--- /dev/null
+++ b/x11/xf86-video-apm/patches/patch-src_apm.h
@@ -0,0 +1,23 @@
+$NetBSD: patch-src_apm.h,v 1.1 2015/04/02 22:16:45 tnn Exp $
+
+From 9f67408e4f078e907fbf4feb45cfdcfd0cdebcca Mon Sep 17 00:00:00 2001
+From: Adam Jackson <ajax@redhat.com>
+Date: Wed, 9 Jan 2013 22:03:29 -0500
+Subject: Remove #include "mibstore.h"
+
+Signed-off-by: Adam Jackson <ajax@redhat.com>
+
+diff --git a/src/apm.h b/src/apm.h
+index a3c06f8..365e5e2 100644
+--- src/apm.h
++++ src/apm.h
+@@ -33,9 +33,6 @@
+ /* All drivers initialising the SW cursor need this */
+ #include "mipointer.h"
+
+-/* All drivers implementing backing store need this */
+-#include "mibstore.h"
+-
+ /* I2C support */
+ #include "xf86i2c.h"
+
diff --git a/x11/xf86-video-ark/distinfo b/x11/xf86-video-ark/distinfo
index e2f6805f87b..c23e193a409 100644
--- a/x11/xf86-video-ark/distinfo
+++ b/x11/xf86-video-ark/distinfo
@@ -1,5 +1,6 @@
-$NetBSD: distinfo,v 1.4 2013/05/16 06:00:38 richard Exp $
+$NetBSD: distinfo,v 1.5 2015/04/02 22:16:46 tnn Exp $
SHA1 (xf86-video-ark-0.7.5.tar.bz2) = 6abadee761f1a49b399361ecbcecef4e4a097c0d
RMD160 (xf86-video-ark-0.7.5.tar.bz2) = 4559cc0e416a6eabffe78e82d4b034cff716f8eb
Size (xf86-video-ark-0.7.5.tar.bz2) = 290423 bytes
+SHA1 (patch-src_ark__driver.c) = 922cbccbd93999e0d0c2ea433e78fb1927595721
diff --git a/x11/xf86-video-ark/patches/patch-src_ark__driver.c b/x11/xf86-video-ark/patches/patch-src_ark__driver.c
new file mode 100644
index 00000000000..d124a98c393
--- /dev/null
+++ b/x11/xf86-video-ark/patches/patch-src_ark__driver.c
@@ -0,0 +1,35 @@
+$NetBSD: patch-src_ark__driver.c,v 1.1 2015/04/02 22:16:46 tnn Exp $
+
+From 3a3eb72baec46f48e6cf15a834271c3d3386deac Mon Sep 17 00:00:00 2001
+From: Gaetan Nadon <memsize@videotron.ca>
+Date: Tue, 17 Sep 2013 15:55:37 -0400
+Subject: Remove usage of mibstore.h (removed from server)
+
+The module had a compile error for this missing header file.
+
+Changes similar to vmware commit
+23d87c92b7211cc5249eefe4ab3a2c7f370e279e
+
+Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
+Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
+
+diff --git a/src/ark_driver.c b/src/ark_driver.c
+index b7c287c..65cfe84 100644
+--- src/ark_driver.c
++++ src/ark_driver.c
+@@ -39,7 +39,6 @@
+ #include "compiler.h"
+ #include "mipointer.h"
+ #include "micmap.h"
+-#include "mibstore.h"
+ #include "fb.h"
+ #include "ark.h"
+
+@@ -538,7 +537,6 @@ static Bool ARKScreenInit(SCREEN_INIT_ARGS_DECL)
+
+ fbPictureInit (pScreen, 0, 0);
+
+- miInitializeBackingStore(pScreen);
+ xf86SetBackingStore(pScreen);
+
+ if (!pARK->NoAccel) {
diff --git a/x11/xf86-video-ati6/Makefile b/x11/xf86-video-ati6/Makefile
index 79a8b6d3390..fa0bc54eec9 100644
--- a/x11/xf86-video-ati6/Makefile
+++ b/x11/xf86-video-ati6/Makefile
@@ -1,4 +1,4 @@
-# $NetBSD: Makefile,v 1.6 2014/10/26 10:20:42 wiz Exp $
+# $NetBSD: Makefile,v 1.7 2015/04/02 22:16:46 tnn Exp $
DISTNAME= xf86-video-ati-6.14.6
PKGNAME= ${DISTNAME:S/ati/ati6/}
@@ -17,7 +17,7 @@ CONFLICTS+= xf86-video-ati-[0-9]*
USE_LIBTOOL= YES
GNU_CONFIGURE= YES
-USE_TOOLS+= gmake pkg-config
+USE_TOOLS+= automake autoconf autoreconf gmake pkg-config
.include "options.mk"
.include "../../mk/bsd.prefs.mk"
@@ -26,6 +26,9 @@ USE_TOOLS+= gmake pkg-config
CONFIGURE_ENV+= DRIVER_MAN_SUFFIX=4
.endif
+pre-configure:
+ cd ${WRKSRC} && autoreconf -vif
+
.include "../../x11/modular-xorg-server/buildlink3.mk"
.include "../../devel/zlib/buildlink3.mk"
diff --git a/x11/xf86-video-ati6/distinfo b/x11/xf86-video-ati6/distinfo
index 44ec5507383..65313b9e6d1 100644
--- a/x11/xf86-video-ati6/distinfo
+++ b/x11/xf86-video-ati6/distinfo
@@ -1,8 +1,9 @@
-$NetBSD: distinfo,v 1.5 2014/10/26 10:20:42 wiz Exp $
+$NetBSD: distinfo,v 1.6 2015/04/02 22:16:46 tnn Exp $
SHA1 (xf86-video-ati-6.14.6.tar.bz2) = b30383c7e5487c1df403a3af19fce8626d617a8d
RMD160 (xf86-video-ati-6.14.6.tar.bz2) = e285bff97a23f6e6f8553f1c010c840e6df882a8
Size (xf86-video-ati-6.14.6.tar.bz2) = 1139495 bytes
+SHA1 (patch-configure.ac) = a7a99e75acc2f6f962fe7cfed084c7451a89c45c
SHA1 (patch-src_atombios__crtc.c) = e6ec24fdc63e3744db9442ab5e12ffe6949eef19
SHA1 (patch-src_atombios__output.c) = ce3720c1d1cfd1f65023cea2745259af30a59add
SHA1 (patch-src_legacy__crtc.c) = 6be802fa29797265efeceaadec9607de334dbfc8
@@ -12,9 +13,12 @@ SHA1 (patch-src_r6xx__accel.c) = d998da9a9a02770005b708213eabe8808c8c3581
SHA1 (patch-src_radeon__accelfuncs.c) = f9d0ba2a0b7f62a56eecea117c4339f0e18b1e52
SHA1 (patch-src_radeon__crtc.c) = c22e5a9c4119a4c6aa3f64f83b326effe270c96c
SHA1 (patch-src_radeon__dri.c) = 479f58f8493543220b931182ab105309f8c035ab
-SHA1 (patch-src_radeon__driver.c) = 16bf5852e3ad684fca9c64768822868d4a224500
+SHA1 (patch-src_radeon__driver.c) = e6fead10db8c13fdff531aaa01bfd40e95906172
SHA1 (patch-src_radeon__exa.c) = d031dac6fcbcccff6534a04ebdf492dd6a5450e6
SHA1 (patch-src_radeon__exa__funcs.c) = 9a508251f04a26e857e4290de5a6b48f868df7d9
SHA1 (patch-src_radeon__exa__render.c) = e3f7d2d0bb15d28224366e11d96c984bf0fdaa93
+SHA1 (patch-src_radeon__mm__i2c.c) = 25703e33ea93306fa09eeb3ada636d55d2c70537
SHA1 (patch-src_radeon__render.c) = 919c108ba8bafdcdb4e0fba80da621674a62de8c
SHA1 (patch-src_radeon__textured__video.c) = 409a187b286a228f632e391d68ee71a14289c574
+SHA1 (patch-src_radeon__video.c) = 25f89edb7d89c8af6bd9b2bc9bba0596f242ac2e
+SHA1 (patch-src_radeon__video.h) = 24eaf52dcede405a9c2a3d0cc2f754430fd007ee
diff --git a/x11/xf86-video-ati6/patches/patch-configure.ac b/x11/xf86-video-ati6/patches/patch-configure.ac
new file mode 100644
index 00000000000..dc0bb9a7f69
--- /dev/null
+++ b/x11/xf86-video-ati6/patches/patch-configure.ac
@@ -0,0 +1,33 @@
+$NetBSD: patch-configure.ac,v 1.1 2015/04/02 22:16:46 tnn Exp $
+
+--- configure.ac.orig 2012-06-29 13:46:11.000000000 +0000
++++ configure.ac
+@@ -163,7 +163,27 @@ fi
+ AM_CONDITIONAL(DRM_MODE, test x$DRM_MODE = xyes)
+ AM_CONDITIONAL(LIBUDEV, test x$LIBUDEV = xyes)
+
+-AC_DEFINE(USE_XAA, 1, [Build support for XAA])
++AC_ARG_ENABLE(xaa,
++ AS_HELP_STRING([--enable-xaa],
++ [Enable legacy X Acceleration Architecture (XAA) [default=auto]]),
++ [XAA="$enableval"],
++ [XAA=auto])
++if test "x$XAA" != xno; then
++ save_CFLAGS=$CFLAGS
++ save_CPPFLAGS=$CPPFLAGS
++ CFLAGS=$XORG_CFLAGS
++ CPPFLAGS="$XORG_CFLAGS"
++ AC_CHECK_HEADERS([xaa.h], XAA=yes, XAA=no)
++ CFLAGS=$save_CFLAGS
++ CPPFLAGS=$save_CPPFLAGS
++fi
++AC_MSG_CHECKING([whether to include XAA support])
++AM_CONDITIONAL(XAA, test "x$XAA" = xyes)
++AC_MSG_RESULT([$XAA])
++if test "x$XAA" = xyes; then
++ AC_DEFINE(USE_XAA, 1, [Build support for XAA])
++ AC_DEFINE(PKGSRC_LEGACY_XORG_SERVER, 1, [Legacy support for TV tuner])
++fi
+
+ # Properly handle EXA.
+ AC_MSG_CHECKING([whether to enable EXA support])
diff --git a/x11/xf86-video-ati6/patches/patch-src_radeon__driver.c b/x11/xf86-video-ati6/patches/patch-src_radeon__driver.c
index 37133bded24..5c3c1e2b078 100644
--- a/x11/xf86-video-ati6/patches/patch-src_radeon__driver.c
+++ b/x11/xf86-video-ati6/patches/patch-src_radeon__driver.c
@@ -1,4 +1,4 @@
-$NetBSD: patch-src_radeon__driver.c,v 1.1 2013/10/31 00:07:24 wiz Exp $
+$NetBSD: patch-src_radeon__driver.c,v 1.2 2015/04/02 22:16:46 tnn Exp $
--- src/radeon_driver.c.orig 2012-06-25 08:19:41.000000000 +0000
+++ src/radeon_driver.c
@@ -21,3 +21,15 @@ $NetBSD: patch-src_radeon__driver.c,v 1.1 2013/10/31 00:07:24 wiz Exp $
info->dri->pKernelDRMVersion->version_minor >= 19)
{
if (RADEONDRISetParam(pScrn, RADEON_SETPARAM_PCIGART_LOCATION, info->dri->pciGartOffset) < 0)
+@@ -6440,7 +6441,11 @@ static Bool RADEONCloseScreen(CLOSE_SCRE
+ if (info->dri && info->dri->pDamage) {
+ PixmapPtr pPix = pScreen->GetScreenPixmap(pScreen);
+
++#ifdef PKGSRC_LEGACY_XORG_SERVER
+ DamageUnregister(&pPix->drawable, info->dri->pDamage);
++#else
++ DamageUnregister(info->dri->pDamage);
++#endif
+ DamageDestroy(info->dri->pDamage);
+ info->dri->pDamage = NULL;
+ }
diff --git a/x11/xf86-video-ati6/patches/patch-src_radeon__mm__i2c.c b/x11/xf86-video-ati6/patches/patch-src_radeon__mm__i2c.c
new file mode 100644
index 00000000000..3d7371b76bd
--- /dev/null
+++ b/x11/xf86-video-ati6/patches/patch-src_radeon__mm__i2c.c
@@ -0,0 +1,69 @@
+$NetBSD: patch-src_radeon__mm__i2c.c,v 1.1 2015/04/02 22:16:46 tnn Exp $
+
+--- src/radeon_mm_i2c.c.orig 2012-06-25 08:19:41.000000000 +0000
++++ src/radeon_mm_i2c.c
+@@ -16,10 +16,21 @@
+
+ /* i2c stuff */
+ #include "xf86i2c.h"
++#ifdef PKGSRC_LEGACY_XORG_SERVER
+ #include "fi1236.h"
+ #include "msp3430.h"
+ #include "tda9885.h"
+ #include "uda1380.h"
++#else
++#define TUNER_TYPE_FI1216 -1
++#define TUNER_TYPE_FI1236 -1
++#define TUNER_TYPE_FI1236W -1
++#define TUNER_TYPE_FI1246 -1
++#define TUNER_TYPE_FI1256 -1
++#define TUNER_TYPE_MT2032 -1
++#define TUNER_TYPE_FM1216ME -1
++#define TUNER_TYPE_TEMIC_FN5AL -1
++#endif
+ #include "i2c_def.h"
+
+
+@@ -367,10 +378,12 @@ void RADEONInitI2C(ScrnInfoPtr pScrn, RA
+ RADEONPLLPtr pll = &(info->pll);
+
+ pPriv->i2c = NULL;
++#ifdef PKGSRC_LEGACY_XORG_SERVER
+ pPriv->fi1236 = NULL;
+ pPriv->msp3430 = NULL;
+ pPriv->tda9885 = NULL;
+ pPriv->uda1380 = NULL;
++#endif
+ #if 0 /* put back on when saa7114 support is present */
+ pPriv->saa7114 = NULL;
+ #endif
+@@ -469,6 +482,7 @@ void RADEONInitI2C(ScrnInfoPtr pScrn, RA
+ if(!info->MM_TABLE_valid)RADEON_read_eeprom(pPriv);
+ #endif
+
++#ifdef PKGSRC_LEGACY_XORG_SERVER
+ if(!xf86LoadSubModule(pScrn,"fi1236"))
+ {
+ xf86DrvMsg(pScrn->scrnIndex, X_ERROR, "Unable to initialize fi1236 driver\n");
+@@ -595,6 +609,7 @@ void RADEONInitI2C(ScrnInfoPtr pScrn, RA
+ xf86_InitMSP3430(pPriv->msp3430);
+ xf86_MSP3430SetVolume(pPriv->msp3430, pPriv->mute ? MSP3430_FAST_MUTE : MSP3430_VOLUME(pPriv->volume));
+ }
++#endif
+
+ #if 0 /* put this back when saa7114 driver is ready */
+ if(!xf86LoadSubModule(pScrn,"saa7114"))
+@@ -624,6 +639,7 @@ void RADEONInitI2C(ScrnInfoPtr pScrn, RA
+
+ static void RADEON_TDA9885_Init(RADEONPortPrivPtr pPriv)
+ {
++#ifdef PKGSRC_LEGACY_XORG_SERVER
+ TDA9885Ptr t=pPriv->tda9885;
+ t->sound_trap=0;
+ t->auto_mute_fm=1; /* ? */
+@@ -639,4 +655,5 @@ t->minimum_gain=0;
+ t->gating=0;
+ t->vif_agc=1; /* set to 1 ? - depends on design */
+ t->gating=0;
++#endif
+ }
diff --git a/x11/xf86-video-ati6/patches/patch-src_radeon__video.c b/x11/xf86-video-ati6/patches/patch-src_radeon__video.c
new file mode 100644
index 00000000000..a5bcb880cf2
--- /dev/null
+++ b/x11/xf86-video-ati6/patches/patch-src_radeon__video.c
@@ -0,0 +1,198 @@
+$NetBSD: patch-src_radeon__video.c,v 1.1 2015/04/02 22:16:46 tnn Exp $
+
+--- src/radeon_video.c.orig 2012-06-25 08:32:43.000000000 +0000
++++ src/radeon_video.c
+@@ -32,9 +32,11 @@
+
+ #include "theatre_detect.h"
+ #include "theatre_reg.h"
++#ifdef PKGSRC_LEGACY_XORG_SERVER
+ #include "fi1236.h"
+ #include "msp3430.h"
+ #include "tda9885.h"
++#endif
+
+ #define OFF_DELAY 250 /* milliseconds */
+ #define FREE_DELAY 15000
+@@ -1743,8 +1745,10 @@ RADEONStopVideo(ScrnInfoPtr pScrn, point
+ OUTREG(RADEON_CAP0_TRIG_CNTL, 0);
+ RADEONResetVideo(pScrn);
+ pPriv->video_stream_active = FALSE;
++#ifdef PKGSRC_LEGACY_XORG_SERVER
+ if(pPriv->msp3430 != NULL) xf86_MSP3430SetVolume(pPriv->msp3430, MSP3430_FAST_MUTE);
+ if(pPriv->uda1380 != NULL) xf86_uda1380_mute(pPriv->uda1380, TRUE);
++#endif
+ if(pPriv->i2c != NULL) RADEON_board_setmisc(pPriv);
+ }
+ RADEONFreeVideoMemory(pScrn, pPriv);
+@@ -1913,11 +1917,13 @@ RADEONSetPortAttribute(ScrnInfoPtr pScr
+ pPriv->encoding = value;
+ if(pPriv->video_stream_active)
+ {
++#ifdef PKGSRC_LEGACY_XORG_SERVER
+ if(pPriv->theatre != NULL) RADEON_RT_SetEncoding(pScrn, pPriv);
+ if(pPriv->msp3430 != NULL) RADEON_MSP_SetEncoding(pPriv);
+ if(pPriv->tda9885 != NULL) RADEON_TDA9885_SetEncoding(pPriv);
+ if(pPriv->fi1236 != NULL) RADEON_FI1236_SetEncoding(pPriv);
+ if(pPriv->i2c != NULL) RADEON_board_setmisc(pPriv);
++#endif
+ /* put more here to actually change it */
+ }
+ }
+@@ -1925,6 +1931,7 @@ RADEONSetPortAttribute(ScrnInfoPtr pScr
+ {
+ pPriv->frequency = value;
+ /* mute volume if it was not muted before */
++#ifdef PKGSRC_LEGACY_XORG_SERVER
+ if((pPriv->msp3430!=NULL)&& !pPriv->mute)xf86_MSP3430SetVolume(pPriv->msp3430, MSP3430_FAST_MUTE);
+ if((pPriv->uda1380!=NULL)&& !pPriv->mute)xf86_uda1380_mute(pPriv->uda1380, TRUE);
+ if(pPriv->fi1236 != NULL) xf86_TUNER_set_frequency(pPriv->fi1236, value);
+@@ -1933,18 +1940,23 @@ RADEONSetPortAttribute(ScrnInfoPtr pScr
+ xf86_InitMSP3430(pPriv->msp3430);
+ if((pPriv->msp3430 != NULL)&& !pPriv->mute) xf86_MSP3430SetVolume(pPriv->msp3430, MSP3430_VOLUME(pPriv->volume));
+ if((pPriv->uda1380 != NULL)&& !pPriv->mute) xf86_uda1380_setvolume(pPriv->uda1380, pPriv->volume);
++#endif
+ }
+ else if(attribute == xvMute)
+ {
+ pPriv->mute = value;
++#ifdef PKGSRC_LEGACY_XORG_SERVER
+ if(pPriv->msp3430 != NULL) xf86_MSP3430SetVolume(pPriv->msp3430, pPriv->mute ? MSP3430_FAST_MUTE : MSP3430_VOLUME(pPriv->volume));
+ if(pPriv->i2c != NULL) RADEON_board_setmisc(pPriv);
+ if(pPriv->uda1380 != NULL) xf86_uda1380_mute(pPriv->uda1380, pPriv->mute);
++#endif
+ }
+ else if(attribute == xvSAP)
+ {
+ pPriv->sap_channel = value;
++#ifdef PKGSRC_LEGACY_XORG_SERVER
+ if(pPriv->msp3430 != NULL) xf86_MSP3430SetSAP(pPriv->msp3430, pPriv->sap_channel?4:3);
++#endif
+ }
+ else if(attribute == xvVolume)
+ {
+@@ -1952,9 +1964,11 @@ RADEONSetPortAttribute(ScrnInfoPtr pScr
+ if(value>1000)value = 1000;
+ pPriv->volume = value;
+ pPriv->mute = FALSE;
++#ifdef PKGSRC_LEGACY_XORG_SERVER
+ if(pPriv->msp3430 != NULL) xf86_MSP3430SetVolume(pPriv->msp3430, MSP3430_VOLUME(value));
+ if(pPriv->i2c != NULL) RADEON_board_setmisc(pPriv);
+ if(pPriv->uda1380 != NULL) xf86_uda1380_setvolume(pPriv->uda1380, value);
++#endif
+ }
+ else if(attribute == xvOverlayDeinterlacingMethod)
+ {
+@@ -1982,6 +1996,7 @@ RADEONSetPortAttribute(ScrnInfoPtr pScr
+ pScrn->currentMode->Flags & V_INTERLACE ? " interlaced" : "" ,
+ pScrn->currentMode->Flags & V_DBLSCAN ? " doublescan" : ""
+ );
++#ifdef PKGSRC_LEGACY_XORG_SERVER
+ if(pPriv->tda9885 != NULL){
+ xf86_tda9885_getstatus(pPriv->tda9885);
+ xf86_tda9885_dumpstatus(pPriv->tda9885);
+@@ -1989,16 +2004,19 @@ RADEONSetPortAttribute(ScrnInfoPtr pScr
+ if(pPriv->fi1236!=NULL){
+ xf86_fi1236_dump_status(pPriv->fi1236);
+ }
++#endif
+ }
+ else if(attribute == xvAdjustment)
+ {
+ pPriv->adjustment=value;
+ xf86DrvMsg(pScrn->scrnIndex,X_ERROR,"Setting pPriv->adjustment to %u\n",
+ (unsigned)pPriv->adjustment);
++#ifdef PKGSRC_LEGACY_XORG_SERVER
+ if(pPriv->tda9885!=0){
+ pPriv->tda9885->top_adjustment=value;
+ RADEON_TDA9885_SetEncoding(pPriv);
+ }
++#endif
+ }
+ else
+ return BadMatch;
+@@ -2090,12 +2108,14 @@ RADEONGetPortAttribute(ScrnInfoPtr pScr
+ *value = pPriv->frequency;
+ else
+ if(attribute == xvTunerStatus) {
++#ifdef PKGSRC_LEGACY_XORG_SERVER
+ if(pPriv->fi1236==NULL){
+ *value=TUNER_OFF;
+ } else
+ {
+ *value = xf86_TUNER_get_afc_hint(pPriv->fi1236);
+ }
++#endif
+ }
+ else if(attribute == xvMute)
+ *value = pPriv->mute;
+@@ -3676,9 +3696,11 @@ RADEONPutVideo(
+ {
+ RADEON_RT_SetEncoding(pScrn, pPriv);
+ }
++#ifdef PKGSRC_LEGACY_XORG_SERVER
+ if(pPriv->msp3430 != NULL) RADEON_MSP_SetEncoding(pPriv);
+ if(pPriv->tda9885 != NULL) RADEON_TDA9885_SetEncoding(pPriv);
+ if(pPriv->fi1236 != NULL) RADEON_FI1236_SetEncoding(pPriv);
++#endif
+ if(pPriv->i2c != NULL)RADEON_board_setmisc(pPriv);
+ }
+
+@@ -3756,6 +3778,7 @@ RADEONPutVideo(
+
+ static void RADEON_board_setmisc(RADEONPortPrivPtr pPriv)
+ {
++#ifdef PKGSRC_LEGACY_XORG_SERVER
+ /* Adjust PAL/SECAM constants for FI1216MF tuner */
+ if((((pPriv->tuner_type & 0xf)==5) ||
+ ((pPriv->tuner_type & 0xf)==11)||
+@@ -3775,7 +3798,7 @@ static void RADEON_board_setmisc(RADEONP
+ pPriv->fi1236->parm.band_high = 0x33;
+ }
+ }
+-
++#endif
+ }
+
+ static void RADEON_RT_SetEncoding(ScrnInfoPtr pScrn, RADEONPortPrivPtr pPriv)
+@@ -3867,6 +3890,7 @@ xf86_RT_SetOutputVideoSize(pPriv->theatr
+
+ static void RADEON_MSP_SetEncoding(RADEONPortPrivPtr pPriv)
+ {
++#ifdef PKGSRC_LEGACY_XORG_SERVER
+ xf86_MSP3430SetVolume(pPriv->msp3430, MSP3430_FAST_MUTE);
+ switch(pPriv->encoding){
+ case 1:
+@@ -3922,10 +3946,12 @@ switch(pPriv->encoding){
+ }
+ xf86_InitMSP3430(pPriv->msp3430);
+ xf86_MSP3430SetVolume(pPriv->msp3430, pPriv->mute ? MSP3430_FAST_MUTE : MSP3430_VOLUME(pPriv->volume));
++#endif
+ }
+
+ static void RADEON_TDA9885_SetEncoding(RADEONPortPrivPtr pPriv)
+ {
++#ifdef PKGSRC_LEGACY_XORG_SERVER
+ TDA9885Ptr t=pPriv->tda9885;
+
+ switch(pPriv->encoding){
+@@ -3962,10 +3988,12 @@ switch(pPriv->encoding){
+ xf86_tda9885_setparameters(pPriv->tda9885);
+ xf86_tda9885_getstatus(pPriv->tda9885);
+ xf86_tda9885_dumpstatus(pPriv->tda9885);
++#endif
+ }
+
+ static void RADEON_FI1236_SetEncoding(RADEONPortPrivPtr pPriv)
+ {
++#ifdef PKGSRC_LEGACY_XORG_SERVER
+ /* at the moment this only affect MT2032 */
+ switch(pPriv->encoding){
+ /* PAL */
+@@ -3994,5 +4022,6 @@ switch(pPriv->encoding){
+ default:
+ return;
+ }
++#endif
+ }
+
diff --git a/x11/xf86-video-ati6/patches/patch-src_radeon__video.h b/x11/xf86-video-ati6/patches/patch-src_radeon__video.h
new file mode 100644
index 00000000000..bbc6fb07585
--- /dev/null
+++ b/x11/xf86-video-ati6/patches/patch-src_radeon__video.h
@@ -0,0 +1,33 @@
+$NetBSD: patch-src_radeon__video.h,v 1.1 2015/04/02 22:16:46 tnn Exp $
+
+--- src/radeon_video.h.orig 2012-06-25 08:19:41.000000000 +0000
++++ src/radeon_video.h
+@@ -2,10 +2,12 @@
+ #define __RADEON_VIDEO_H__
+
+ #include "xf86i2c.h"
++#ifdef PKGSRC_LEGACY_XORG_SERVER
+ #include "fi1236.h"
+ #include "msp3430.h"
+ #include "tda9885.h"
+ #include "uda1380.h"
++#endif
+ #include "i2c_def.h"
+
+ #include "generic_bus.h"
+@@ -44,11 +46,15 @@ typedef struct {
+ uint32_t i2c_status;
+ uint32_t i2c_cntl;
+
++#ifdef PKGSRC_LEGACY_XORG_SERVER
+ FI1236Ptr fi1236;
++#endif
+ uint8_t tuner_type;
++#ifdef PKGSRC_LEGACY_XORG_SERVER
+ MSP3430Ptr msp3430;
+ TDA9885Ptr tda9885;
+ UDA1380Ptr uda1380;
++#endif
+
+ /* VIP bus and devices */
+ GENERIC_BUS_Ptr VIP;
diff --git a/x11/xf86-video-chips/distinfo b/x11/xf86-video-chips/distinfo
index 60609bab1ba..798512f9b81 100644
--- a/x11/xf86-video-chips/distinfo
+++ b/x11/xf86-video-chips/distinfo
@@ -1,7 +1,9 @@
-$NetBSD: distinfo,v 1.6 2013/05/19 07:09:51 obache Exp $
+$NetBSD: distinfo,v 1.7 2015/04/02 22:16:46 tnn Exp $
SHA1 (xf86-video-chips-1.2.5.tar.bz2) = 5642e1d1bf3a05d24a0b8db48ca3b522c1962b00
RMD160 (xf86-video-chips-1.2.5.tar.bz2) = 11a23a67a96db8e40465b262853084495ef8a7b5
Size (xf86-video-chips-1.2.5.tar.bz2) = 398804 bytes
-SHA1 (patch-configure) = 90201f2e21de2a82e56918a30beee654df641cc0
+SHA1 (patch-configure) = 2a7d72260b5f1650e2aa6dc8c90cfc896f36ddb2
+SHA1 (patch-src_ct__ddc.c) = 7193bbaee8599e802a214c372a8280d9a6148281
+SHA1 (patch-src_ct__driver.c) = 7f43ef04e24013d0a201477c0dc753264e577f65
SHA1 (patch-util_Makefile.am) = 450f13ea360f0631db3ee8f7bedc76e4b70efbab
diff --git a/x11/xf86-video-chips/patches/patch-configure b/x11/xf86-video-chips/patches/patch-configure
index 6d99629c500..0485609f28f 100644
--- a/x11/xf86-video-chips/patches/patch-configure
+++ b/x11/xf86-video-chips/patches/patch-configure
@@ -1,8 +1,8 @@
-$NetBSD: patch-configure,v 1.1 2013/05/19 07:09:51 obache Exp $
+$NetBSD: patch-configure,v 1.2 2015/04/02 22:16:46 tnn Exp $
* use the header file really used in util.
---- configure.orig 2013-05-19 04:32:55.000000000 +0000
+--- configure.orig 2012-07-17 06:18:46.000000000 +0000
+++ configure
@@ -18182,7 +18182,7 @@ $as_echo_n "checking for inb... " >&6; }
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
diff --git a/x11/xf86-video-chips/patches/patch-src_ct__ddc.c b/x11/xf86-video-chips/patches/patch-src_ct__ddc.c
new file mode 100644
index 00000000000..e3ee946fa2f
--- /dev/null
+++ b/x11/xf86-video-chips/patches/patch-src_ct__ddc.c
@@ -0,0 +1,37 @@
+$NetBSD: patch-src_ct__ddc.c,v 1.1 2015/04/02 22:16:46 tnn Exp $
+
+From bb03c06322f875e905dec956e06a99b9674e57aa Mon Sep 17 00:00:00 2001
+From: Adam Jackson <ajax@redhat.com>
+Date: Wed, 21 May 2014 09:38:35 -0400
+Subject: ddc: Use own thunk function instead of vgaHWddc1SetSpeedWeak
+
+I plan to remove the Weak functions from future servers.
+
+Signed-off-by: Adam Jackson <ajax@redhat.com>
+
+diff --git a/src/ct_ddc.c b/src/ct_ddc.c
+index 5e2346a..677d840 100644
+--- src/ct_ddc.c.orig 2012-06-05 18:08:22.000000000 +0000
++++ src/ct_ddc.c
+@@ -33,6 +33,12 @@ chips_ddc1Read(ScrnInfoPtr pScrn)
+ return (tmp & ddc_mask);
+ }
+
++static void
++chips_ddc1SetSpeed(ScrnInfoPtr pScrn, xf86ddcSpeed speed)
++{
++ vgaHWddc1SetSpeed(pScrn, speed);
++}
++
+ void
+ chips_ddc1(ScrnInfoPtr pScrn)
+ {
+@@ -93,7 +99,7 @@ chips_ddc1(ScrnInfoPtr pScrn)
+ xf86DrvMsg(pScrn->scrnIndex, X_PROBED, "DDC1 found\n");
+ else return;
+
+- xf86PrintEDID(xf86DoEDID_DDC1(XF86_SCRN_ARG(pScrn), vgaHWddc1SetSpeedWeak(),
++ xf86PrintEDID(xf86DoEDID_DDC1(XF86_SCRN_ARG(pScrn), chips_ddc1SetSpeed,
+ chips_ddc1Read));
+
+ /* restore */
diff --git a/x11/xf86-video-chips/patches/patch-src_ct__driver.c b/x11/xf86-video-chips/patches/patch-src_ct__driver.c
new file mode 100644
index 00000000000..7664c3ba600
--- /dev/null
+++ b/x11/xf86-video-chips/patches/patch-src_ct__driver.c
@@ -0,0 +1,91 @@
+$NetBSD: patch-src_ct__driver.c,v 1.1 2015/04/02 22:16:46 tnn Exp $
+
+From 9187d76bd4f8d500fc3403b6d4a7bef55508bf2b Mon Sep 17 00:00:00 2001
+From: Adam Jackson <ajax@redhat.com>
+Date: Fri, 17 Oct 2014 09:49:26 -0400
+Subject: Update for xserver 1.17
+
+Signed-off-by: Adam Jackson <ajax@redhat.com>
+
+From 151a1ec855a9ada44907cb6bef06a71e9080504b Mon Sep 17 00:00:00 2001
+From: Adam Jackson <ajax@redhat.com>
+Date: Tue, 25 Sep 2012 08:54:34 -0400
+Subject: Remove mibstore.h
+
+Signed-off-by: Adam Jackson <ajax@redhat.com>
+
+--- src/ct_driver.c.orig 2015-04-02 18:04:37.000000000 +0000
++++ src/ct_driver.c
+@@ -96,9 +96,6 @@
+ /* All drivers initialising the SW cursor need this */
+ #include "mipointer.h"
+
+-/* All drivers implementing backing store need this */
+-#include "mibstore.h"
+-
+ /* All drivers using the mi banking wrapper need this */
+ #ifdef HAVE_ISA
+ #include "mibank.h"
+@@ -2101,13 +2098,7 @@ chipsPreInitHiQV(ScrnInfoPtr pScrn, int
+ pScrn->progClock = TRUE;
+ cPtr->ClockType = HiQV_STYLE | TYPE_PROGRAMMABLE;
+
+- if (cPtr->pEnt->device->textClockFreq > 0) {
+- SaveClk->Clock = cPtr->pEnt->device->textClockFreq;
+- xf86DrvMsg(pScrn->scrnIndex, X_CONFIG,
+- "Using textclock freq: %7.3f.\n",
+- SaveClk->Clock/1000.0);
+- } else
+- SaveClk->Clock = 0;
++ SaveClk->Clock = 0;
+
+ xf86DrvMsg(pScrn->scrnIndex, X_PROBED, "Using programmable clocks\n");
+
+@@ -2810,13 +2801,7 @@ chipsPreInitWingine(ScrnInfoPtr pScrn, i
+
+ if (cPtr->ClockType & TYPE_PROGRAMMABLE) {
+ pScrn->numClocks = NoClocks;
+- if(cPtr->pEnt->device->textClockFreq > 0) {
+- SaveClk->Clock = cPtr->pEnt->device->textClockFreq;
+- xf86DrvMsg(pScrn->scrnIndex, X_CONFIG,
+- "Using textclock freq: %7.3f.\n",
+- SaveClk->Clock/1000.0);
+- } else
+- SaveClk->Clock = CRT_TEXT_CLK_FREQ;
++ SaveClk->Clock = CRT_TEXT_CLK_FREQ;
+ xf86DrvMsg(pScrn->scrnIndex, X_PROBED, "Using programmable clocks\n");
+ } else { /* TYPE_PROGRAMMABLE */
+ SaveClk->Clock = chipsGetHWClock(pScrn);
+@@ -3503,14 +3488,8 @@ chipsPreInit655xx(ScrnInfoPtr pScrn, int
+
+ if (cPtr->ClockType & TYPE_PROGRAMMABLE) {
+ pScrn->numClocks = NoClocks;
+- if (cPtr->pEnt->device->textClockFreq > 0) {
+- SaveClk->Clock = cPtr->pEnt->device->textClockFreq;
+- xf86DrvMsg(pScrn->scrnIndex, X_CONFIG,
+- "Using textclock freq: %7.3f.\n",
+- SaveClk->Clock/1000.0);
+- } else
+- SaveClk->Clock = ((cPtr->PanelType & ChipsLCDProbed) ?
+- LCD_TEXT_CLK_FREQ : CRT_TEXT_CLK_FREQ);
++ SaveClk->Clock = ((cPtr->PanelType & ChipsLCDProbed) ?
++ LCD_TEXT_CLK_FREQ : CRT_TEXT_CLK_FREQ);
+ xf86DrvMsg(pScrn->scrnIndex, X_PROBED, "Using programmable clocks\n");
+ } else { /* TYPE_PROGRAMMABLE */
+ SaveClk->Clock = chipsGetHWClock(pScrn);
+@@ -4145,7 +4124,6 @@ CHIPSScreenInit(SCREEN_INIT_ARGS_DECL)
+ pBankInfo = NULL;
+ return FALSE;
+ }
+- miInitializeBackingStore(pScreen);
+ xf86SetBackingStore(pScreen);
+
+ /* Initialise cursor functions */
+@@ -4296,7 +4274,6 @@ CHIPSScreenInit(SCREEN_INIT_ARGS_DECL)
+ }
+ }
+
+- miInitializeBackingStore(pScreen);
+ xf86SetBackingStore(pScreen);
+ #ifdef ENABLE_SILKEN_MOUSE
+ xf86SetSilkenMouse(pScreen);
diff --git a/x11/xf86-video-cirrus/distinfo b/x11/xf86-video-cirrus/distinfo
index 337d58b9ee8..03332492f9c 100644
--- a/x11/xf86-video-cirrus/distinfo
+++ b/x11/xf86-video-cirrus/distinfo
@@ -1,5 +1,8 @@
-$NetBSD: distinfo,v 1.5 2013/05/16 06:06:45 richard Exp $
+$NetBSD: distinfo,v 1.6 2015/04/02 22:16:46 tnn Exp $
SHA1 (xf86-video-cirrus-1.5.2.tar.bz2) = 722800029e816f453031a851bf4a816c796d7bde
RMD160 (xf86-video-cirrus-1.5.2.tar.bz2) = 6597f6fbec0d30254d04070debd8aa3bc2075201
Size (xf86-video-cirrus-1.5.2.tar.bz2) = 327547 bytes
+SHA1 (patch-src_alp__driver.c) = 1dc9dc624f653dd219e259a26b9f18d79f8718c3
+SHA1 (patch-src_cir.h) = de21ad50143fd1bbbf2727149b32d7a35909aa4d
+SHA1 (patch-src_lg__driver.c) = 1e25605cf8435fa6a2b43f71f8e72be402c6bd70
diff --git a/x11/xf86-video-cirrus/patches/patch-src_alp__driver.c b/x11/xf86-video-cirrus/patches/patch-src_alp__driver.c
new file mode 100644
index 00000000000..5d7064b15f4
--- /dev/null
+++ b/x11/xf86-video-cirrus/patches/patch-src_alp__driver.c
@@ -0,0 +1,25 @@
+$NetBSD: patch-src_alp__driver.c,v 1.1 2015/04/02 22:16:46 tnn Exp $
+
+From df389885adf71ed3b045c2fde9fd3ba4329e1a58 Mon Sep 17 00:00:00 2001
+From: Dave Airlie <airlied@gmail.com>
+Date: Sat, 20 Sep 2014 18:51:17 +1000
+Subject: cirrus: don't use pciTag
+
+Signed-off-by: Dave Airlie <airlied@redhat.com>
+
+diff --git a/src/alp_driver.c b/src/alp_driver.c
+index 36f2039..bd5e52f 100644
+--- src/alp_driver.c
++++ src/alp_driver.c
+@@ -519,9 +519,11 @@ AlpPreInit(ScrnInfoPtr pScrn, int flags)
+ pCir->Chipset = pCir->pEnt->chipset;
+ /* Find the PCI info for this screen */
+ pCir->PciInfo = xf86GetPciInfoForEntity(pCir->pEnt->index);
++#ifndef XSERVER_LIBPCIACCESS
+ pCir->PciTag = pciTag(PCI_DEV_BUS(pCir->PciInfo),
+ PCI_DEV_DEV(pCir->PciInfo),
+ PCI_DEV_FUNC(pCir->PciInfo));
++#endif
+
+ #if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 12
+ if (!xf86IsPc98())
diff --git a/x11/xf86-video-cirrus/patches/patch-src_cir.h b/x11/xf86-video-cirrus/patches/patch-src_cir.h
new file mode 100644
index 00000000000..04627039ee6
--- /dev/null
+++ b/x11/xf86-video-cirrus/patches/patch-src_cir.h
@@ -0,0 +1,23 @@
+$NetBSD: patch-src_cir.h,v 1.1 2015/04/02 22:16:46 tnn Exp $
+
+From df389885adf71ed3b045c2fde9fd3ba4329e1a58 Mon Sep 17 00:00:00 2001
+From: Dave Airlie <airlied@gmail.com>
+Date: Sat, 20 Sep 2014 18:51:17 +1000
+Subject: cirrus: don't use pciTag
+
+Signed-off-by: Dave Airlie <airlied@redhat.com>
+
+diff --git a/src/cir.h b/src/cir.h
+index 0a5d403..84f64b5 100644
+--- src/cir.h
++++ src/cir.h
+@@ -23,7 +23,9 @@ typedef struct {
+ ScrnInfoPtr pScrn;
+ CARD32 properties;
+ pciVideoPtr PciInfo;
++#ifndef XSERVER_LIBPCIACCESS
+ PCITAG PciTag;
++#endif
+ unsigned long PIOReg;
+ union {
+ struct lgRec *lg;
diff --git a/x11/xf86-video-cirrus/patches/patch-src_lg__driver.c b/x11/xf86-video-cirrus/patches/patch-src_lg__driver.c
new file mode 100644
index 00000000000..a24348c2865
--- /dev/null
+++ b/x11/xf86-video-cirrus/patches/patch-src_lg__driver.c
@@ -0,0 +1,25 @@
+$NetBSD: patch-src_lg__driver.c,v 1.1 2015/04/02 22:16:46 tnn Exp $
+
+From df389885adf71ed3b045c2fde9fd3ba4329e1a58 Mon Sep 17 00:00:00 2001
+From: Dave Airlie <airlied@gmail.com>
+Date: Sat, 20 Sep 2014 18:51:17 +1000
+Subject: cirrus: don't use pciTag
+
+Signed-off-by: Dave Airlie <airlied@redhat.com>
+
+diff --git a/src/lg_driver.c b/src/lg_driver.c
+index c20bbd0..589d14e 100644
+--- src/lg_driver.c
++++ src/lg_driver.c
+@@ -382,9 +382,11 @@ LgPreInit(ScrnInfoPtr pScrn, int flags)
+
+ /* Find the PCI info for this screen */
+ pCir->PciInfo = xf86GetPciInfoForEntity(pCir->pEnt->index);
++#ifndef XSERVER_LIBPCIACCESS
+ pCir->PciTag = pciTag(PCI_DEV_BUS(pCir->PciInfo),
+ PCI_DEV_DEV(pCir->PciInfo),
+ PCI_DEV_FUNC(pCir->PciInfo));
++#endif
+
+ if (xf86LoadSubModule(pScrn, "int10")) {
+ xf86Int10InfoPtr int10InfoPtr;
diff --git a/x11/xf86-video-glint/distinfo b/x11/xf86-video-glint/distinfo
index c1e539f8449..388dc67f47b 100644
--- a/x11/xf86-video-glint/distinfo
+++ b/x11/xf86-video-glint/distinfo
@@ -1,5 +1,6 @@
-$NetBSD: distinfo,v 1.6 2013/05/16 06:08:01 richard Exp $
+$NetBSD: distinfo,v 1.7 2015/04/02 22:16:46 tnn Exp $
SHA1 (xf86-video-glint-1.2.8.tar.bz2) = 40f817c3aaac1b04bff28f4552bc4b4fe522013b
RMD160 (xf86-video-glint-1.2.8.tar.bz2) = f1692d995cec5cb2f2a57471a5e2256f82d3467d
Size (xf86-video-glint-1.2.8.tar.bz2) = 395371 bytes
+SHA1 (patch-src_glint__driver.c) = e757df21be4a5308d69366125b8d1c33ea626066
diff --git a/x11/xf86-video-glint/patches/patch-src_glint__driver.c b/x11/xf86-video-glint/patches/patch-src_glint__driver.c
new file mode 100644
index 00000000000..921aafef877
--- /dev/null
+++ b/x11/xf86-video-glint/patches/patch-src_glint__driver.c
@@ -0,0 +1,29 @@
+$NetBSD: patch-src_glint__driver.c,v 1.1 2015/04/02 22:16:46 tnn Exp $
+
+From 073d5b0b392781bf4a6aa7f9e2dbe2ae51caed2c Mon Sep 17 00:00:00 2001
+From: Adam Jackson <ajax@redhat.com>
+Date: Tue, 25 Sep 2012 08:54:38 -0400
+Subject: Remove mibstore.h
+
+Signed-off-by: Adam Jackson <ajax@redhat.com>
+
+diff --git a/src/glint_driver.c b/src/glint_driver.c
+index b6d20a9..aa78516 100644
+--- src/glint_driver.c
++++ src/glint_driver.c
+@@ -52,8 +52,6 @@
+ #include "compiler.h"
+ #include "mipointer.h"
+
+-#include "mibstore.h"
+-
+ #include "pm3_regs.h"
+ #include "glint_regs.h"
+ #include "IBM.h"
+@@ -2904,7 +2902,6 @@ GLINTScreenInit(SCREEN_INIT_ARGS_DECL)
+ }
+ }
+
+- miInitializeBackingStore(pScreen);
+ xf86SetBackingStore(pScreen);
+ xf86SetSilkenMouse(pScreen);
diff --git a/x11/xf86-video-i128/distinfo b/x11/xf86-video-i128/distinfo
index ecc4effd8cd..f9ebb9bc651 100644
--- a/x11/xf86-video-i128/distinfo
+++ b/x11/xf86-video-i128/distinfo
@@ -1,5 +1,6 @@
-$NetBSD: distinfo,v 1.6 2013/05/16 06:10:17 richard Exp $
+$NetBSD: distinfo,v 1.7 2015/04/02 22:16:46 tnn Exp $
SHA1 (xf86-video-i128-1.3.6.tar.bz2) = 4e66922f46169bf893cea00b33f80cf450070270
RMD160 (xf86-video-i128-1.3.6.tar.bz2) = c9d0eb30c260f40aebba0d8bbe2f1f88056c6f9a
Size (xf86-video-i128-1.3.6.tar.bz2) = 324894 bytes
+SHA1 (patch-src_i128__driver.c) = 96ea154c39e120e190e4fa850ecbbc8333528ce9
diff --git a/x11/xf86-video-i128/patches/patch-src_i128__driver.c b/x11/xf86-video-i128/patches/patch-src_i128__driver.c
new file mode 100644
index 00000000000..947d76941b4
--- /dev/null
+++ b/x11/xf86-video-i128/patches/patch-src_i128__driver.c
@@ -0,0 +1,29 @@
+$NetBSD: patch-src_i128__driver.c,v 1.1 2015/04/02 22:16:46 tnn Exp $
+
+From c87753733a6e1f85d1d037dced0b47ce0cf41658 Mon Sep 17 00:00:00 2001
+From: Adam Jackson <ajax@redhat.com>
+Date: Tue, 25 Sep 2012 08:54:40 -0400
+Subject: Remove mibstore.h
+
+Signed-off-by: Adam Jackson <ajax@redhat.com>
+
+diff --git a/src/i128_driver.c b/src/i128_driver.c
+index a0f08c0..51a4135 100644
+--- src/i128_driver.c
++++ src/i128_driver.c
+@@ -50,8 +50,6 @@
+ /* All drivers initialising the SW cursor need this */
+ #include "mipointer.h"
+
+-/* All drivers implementing backing store need this */
+-#include "mibstore.h"
+ #include "micmap.h"
+
+ #include "xf86DDC.h"
+@@ -1556,7 +1554,6 @@ I128ScreenInit(SCREEN_INIT_ARGS_DECL)
+ return FALSE;
+ }
+
+- miInitializeBackingStore(pScreen);
+ xf86SetBackingStore(pScreen);
+ xf86SetSilkenMouse(pScreen);
diff --git a/x11/xf86-video-mach64/distinfo b/x11/xf86-video-mach64/distinfo
index 0e9ebc7d6e2..232eb6bfcc8 100644
--- a/x11/xf86-video-mach64/distinfo
+++ b/x11/xf86-video-mach64/distinfo
@@ -1,5 +1,7 @@
-$NetBSD: distinfo,v 1.4 2013/05/16 06:17:50 richard Exp $
+$NetBSD: distinfo,v 1.5 2015/04/02 22:16:47 tnn Exp $
SHA1 (xf86-video-mach64-6.9.4.tar.bz2) = 59ef55e9962d6ff2d9f4583d95fdffc37cbcde86
RMD160 (xf86-video-mach64-6.9.4.tar.bz2) = 6e227c92813c6fefe51faec55c81ac6bd4234fff
Size (xf86-video-mach64-6.9.4.tar.bz2) = 517239 bytes
+SHA1 (patch-src_atimach64probe.c) = 48ee19c7793d59dd745b0c00e4f9aa3475583e5e
+SHA1 (patch-src_atipreinit.c) = b5aa92706e7effba6f66aebba89d409c37571e7d
diff --git a/x11/xf86-video-mach64/patches/patch-src_atimach64probe.c b/x11/xf86-video-mach64/patches/patch-src_atimach64probe.c
new file mode 100644
index 00000000000..bf9800e4477
--- /dev/null
+++ b/x11/xf86-video-mach64/patches/patch-src_atimach64probe.c
@@ -0,0 +1,61 @@
+$NetBSD: patch-src_atimach64probe.c,v 1.1 2015/04/02 22:16:47 tnn Exp $
+
+From e538ff6b2108117a7ae6644a844c6ce10fc0f1ee Mon Sep 17 00:00:00 2001
+From: Connor Behan <connor.behan@gmail.com>
+Date: Wed, 27 Nov 2013 23:53:31 -0800
+Subject: Drop dependence on xf86PciInfo.h
+
+It is about time we stop using this deprecated file and include pciids
+locally.
+
+Signed-off-by: Connor Behan <connor.behan@gmail.com>
+Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
+
+diff --git a/src/atimach64probe.c b/src/atimach64probe.c
+index e94c3f2..430af6c 100644
+--- src/atimach64probe.c
++++ src/atimach64probe.c
+@@ -38,7 +38,42 @@
+ #include "atiadjust.h"
+ #include "ativalid.h"
+
+-#include "xf86PciInfo.h"
++/* Chip definitions */
++#define PCI_VENDOR_ATI 0x1002
++#define PCI_CHIP_MACH64CT 0x4354
++#define PCI_CHIP_MACH64CX 0x4358
++#define PCI_CHIP_MACH64ET 0x4554
++#define PCI_CHIP_MACH64GB 0x4742
++#define PCI_CHIP_MACH64GD 0x4744
++#define PCI_CHIP_MACH64GI 0x4749
++#define PCI_CHIP_MACH64GL 0x474C
++#define PCI_CHIP_MACH64GM 0x474D
++#define PCI_CHIP_MACH64GN 0x474E
++#define PCI_CHIP_MACH64GO 0x474F
++#define PCI_CHIP_MACH64GP 0x4750
++#define PCI_CHIP_MACH64GQ 0x4751
++#define PCI_CHIP_MACH64GR 0x4752
++#define PCI_CHIP_MACH64GS 0x4753
++#define PCI_CHIP_MACH64GT 0x4754
++#define PCI_CHIP_MACH64GU 0x4755
++#define PCI_CHIP_MACH64GV 0x4756
++#define PCI_CHIP_MACH64GW 0x4757
++#define PCI_CHIP_MACH64GX 0x4758
++#define PCI_CHIP_MACH64GY 0x4759
++#define PCI_CHIP_MACH64GZ 0x475A
++#define PCI_CHIP_MACH64LB 0x4C42
++#define PCI_CHIP_MACH64LD 0x4C44
++#define PCI_CHIP_MACH64LG 0x4C47
++#define PCI_CHIP_MACH64LI 0x4C49
++#define PCI_CHIP_MACH64LM 0x4C4D
++#define PCI_CHIP_MACH64LN 0x4C4E
++#define PCI_CHIP_MACH64LP 0x4C50
++#define PCI_CHIP_MACH64LQ 0x4C51
++#define PCI_CHIP_MACH64LR 0x4C52
++#define PCI_CHIP_MACH64LS 0x4C53
++#define PCI_CHIP_MACH64VT 0x5654
++#define PCI_CHIP_MACH64VU 0x5655
++#define PCI_CHIP_MACH64VV 0x5656
+
+ #ifndef XSERVER_LIBPCIACCESS
+ static Bool Mach64Probe(DriverPtr pDriver, int flags);
diff --git a/x11/xf86-video-mach64/patches/patch-src_atipreinit.c b/x11/xf86-video-mach64/patches/patch-src_atipreinit.c
new file mode 100644
index 00000000000..987187db0c6
--- /dev/null
+++ b/x11/xf86-video-mach64/patches/patch-src_atipreinit.c
@@ -0,0 +1,27 @@
+$NetBSD: patch-src_atipreinit.c,v 1.1 2015/04/02 22:16:47 tnn Exp $
+
+From 810572536e153ac9e4615a35e2ab99dc266806da Mon Sep 17 00:00:00 2001
+From: Dave Airlie <airlied@redhat.com>
+Date: Sat, 15 Nov 2014 11:29:54 +1000
+Subject: mach64: fix build probably not required with pci access anyways
+
+
+diff --git a/src/atipreinit.c b/src/atipreinit.c
+index e3048d2..dbcd9fd 100644
+--- src/atipreinit.c
++++ src/atipreinit.c
+@@ -1079,12 +1079,14 @@ ATIPreInit
+ }
+ }
+
++#ifndef XSERVER_LIBPCIACCESS
+ if (!xf86LinearVidMem())
+ {
+ xf86DrvMsg(pScreenInfo->scrnIndex, X_ERROR,
+ "A linear aperture is not available.\n");
+ goto bail;
+ }
++#endif
+
+ /*
+ * Set colour weights.
diff --git a/x11/xf86-video-neomagic/distinfo b/x11/xf86-video-neomagic/distinfo
index 189756e9066..e4cdf55df8d 100644
--- a/x11/xf86-video-neomagic/distinfo
+++ b/x11/xf86-video-neomagic/distinfo
@@ -1,5 +1,6 @@
-$NetBSD: distinfo,v 1.6 2013/09/09 22:26:16 wiz Exp $
+$NetBSD: distinfo,v 1.7 2015/04/02 22:16:47 tnn Exp $
SHA1 (xf86-video-neomagic-1.2.8.tar.bz2) = 281a70cc89fb39ae91deb4a16c46026b63bbd060
RMD160 (xf86-video-neomagic-1.2.8.tar.bz2) = 43f659053041727d9451941751f1b03213f16886
Size (xf86-video-neomagic-1.2.8.tar.bz2) = 334223 bytes
+SHA1 (patch-src_neo__driver.c) = 63bba9d9d9a5198ab886bf43a22a258a836e68ad
diff --git a/x11/xf86-video-neomagic/patches/patch-src_neo__driver.c b/x11/xf86-video-neomagic/patches/patch-src_neo__driver.c
new file mode 100644
index 00000000000..3392d6cb730
--- /dev/null
+++ b/x11/xf86-video-neomagic/patches/patch-src_neo__driver.c
@@ -0,0 +1,92 @@
+$NetBSD: patch-src_neo__driver.c,v 1.1 2015/04/02 22:16:47 tnn Exp $
+
+From 6661bdd4551e4e63e983685464a277845aed3012 Mon Sep 17 00:00:00 2001
+From: Dave Airlie <airlied@gmail.com>
+Date: Sun, 21 Sep 2014 09:51:37 +1000
+Subject: neomagic: fix build against master X server.
+
+Signed-off-by: Dave Airlie <airlied@redhat.com>
+
+From 74a9a343f6e156d24539b81f1224b7410acf0e38 Mon Sep 17 00:00:00 2001
+From: Adam Jackson <ajax@redhat.com>
+Date: Wed, 21 May 2014 14:07:53 -0400
+Subject: Use own thunk functions instead of vgaHW*Weak
+
+I plan to remove the Weak functions from a future server
+
+Signed-off-by: Adam Jackson <ajax@redhat.com>
+
+diff --git a/src/neo_driver.c b/src/neo_driver.c
+index 7e60f3e..1b0da34 100644
+--- src/neo_driver.c.orig 2013-08-16 18:10:25.000000000 +0000
++++ src/neo_driver.c
+@@ -1439,6 +1439,12 @@ NEOShadowInit(ScreenPtr pScreen)
+ return TRUE;
+ }
+
++static Bool
++NEOSaveScreen(ScreenPtr pScreen, int mode)
++{
++ return vgaHWSaveScreen(pScreen, mode);
++}
++
+ /* Mandatory */
+ static Bool
+ NEOScreenInit(SCREEN_INIT_ARGS_DECL)
+@@ -1712,7 +1718,7 @@ NEOScreenInit(SCREEN_INIT_ARGS_DECL)
+
+ NEOInitVideo(pScreen);
+
+- pScreen->SaveScreen = vgaHWSaveScreenWeak();
++ pScreen->SaveScreen = NEOSaveScreen;
+
+ /* Setup DPMS mode */
+ if (nPtr->NeoChipset != NM2070)
+@@ -1988,10 +1994,12 @@ neoMapMem(ScrnInfoPtr pScrn)
+ }
+ #endif
+ } else
++#ifdef VIDMEM_MMIO
+ nPtr->NeoMMIOBase =
+ xf86MapVidMem(pScrn->scrnIndex,
+ VIDMEM_MMIO, nPtr->NeoMMIOAddr,
+ 0x200000L);
++#endif
+ if (nPtr->NeoMMIOBase == NULL)
+ return FALSE;
+ }
+@@ -2018,10 +2026,12 @@ neoMapMem(ScrnInfoPtr pScrn)
+ }
+ #endif
+ else
++#ifdef VIDMEM_FRAMEBUFFER
+ nPtr->NeoFbBase =
+ xf86MapVidMem(pScrn->scrnIndex, VIDMEM_FRAMEBUFFER,
+ (unsigned long)nPtr->NeoLinearAddr,
+ nPtr->NeoFbMapSize);
++#endif
+ if (nPtr->NeoFbBase == NULL)
+ return FALSE;
+ return TRUE;
+@@ -3049,6 +3059,12 @@ neo_ddc1Read(ScrnInfoPtr pScrn)
+ return (tmp);
+ }
+
++static void
++neo_ddc1SetSpeed(ScrnInfoPtr pScrn, xf86ddcSpeed speed)
++{
++ vgaHWddc1SetSpeed(pScrn, speed);
++}
++
+ static xf86MonPtr
+ neo_ddc1(ScrnInfoPtr pScrn)
+ {
+@@ -3063,7 +3079,7 @@ neo_ddc1(ScrnInfoPtr pScrn)
+ VGAwCR(0x21,0x00);
+ VGAwCR(0x1D,0x01); /* some Voodoo */
+ VGAwGR(0xA1,0x2F);
+- ret = xf86DoEDID_DDC1(XF86_SCRN_ARG(pScrn),vgaHWddc1SetSpeedWeak(),neo_ddc1Read);
++ ret = xf86DoEDID_DDC1(XF86_SCRN_ARG(pScrn),neo_ddc1SetSpeed,neo_ddc1Read);
+ /* undo initialization */
+ VGAwCR(0x21,reg1);
+ VGAwCR(0x1D,reg2);
diff --git a/x11/xf86-video-nv/distinfo b/x11/xf86-video-nv/distinfo
index 1e45b251558..b3cb77086d1 100644
--- a/x11/xf86-video-nv/distinfo
+++ b/x11/xf86-video-nv/distinfo
@@ -1,5 +1,10 @@
-$NetBSD: distinfo,v 1.16 2013/05/16 06:20:54 richard Exp $
+$NetBSD: distinfo,v 1.17 2015/04/02 22:16:47 tnn Exp $
SHA1 (xf86-video-nv-2.1.20.tar.bz2) = 42b129be471d16444c5a7b443491e8d9e3e5df1a
RMD160 (xf86-video-nv-2.1.20.tar.bz2) = 1245e6fb40728ec5b874d1a7cbc6836c39704837
Size (xf86-video-nv-2.1.20.tar.bz2) = 396982 bytes
+SHA1 (patch-src_g80__driver.c) = 7a009a40cb21973180befe403e2e14979030986a
+SHA1 (patch-src_nv__driver.c) = 3fef5f0ed734115e801c5cf14fdecb4cea17675b
+SHA1 (patch-src_nv__include.h) = 94e101db1ba731d9187753f3b1c8285f5fdd0c90
+SHA1 (patch-src_riva_driver.c) = 2820b601f3244cce48b6cd93c51e03bc0bff507f
+SHA1 (patch-src_riva_include.h) = 84859b666ad1e4a26e09876a63e5131adb35b513
diff --git a/x11/xf86-video-nv/patches/patch-src_g80__driver.c b/x11/xf86-video-nv/patches/patch-src_g80__driver.c
new file mode 100644
index 00000000000..1ba22edc6ae
--- /dev/null
+++ b/x11/xf86-video-nv/patches/patch-src_g80__driver.c
@@ -0,0 +1,29 @@
+$NetBSD: patch-src_g80__driver.c,v 1.1 2015/04/02 22:16:47 tnn Exp $
+
+From fc78fe98222b0204b8a2872a529763d6fe5048da Mon Sep 17 00:00:00 2001
+From: Adam Jackson <ajax@redhat.com>
+Date: Tue, 25 Sep 2012 08:54:49 -0400
+Subject: Remove mibstore.h
+
+Signed-off-by: Adam Jackson <ajax@redhat.com>
+
+diff --git a/src/g80_driver.c b/src/g80_driver.c
+index cc4e197..719b96c 100644
+--- src/g80_driver.c.orig 2012-07-17 06:47:02.000000000 +0000
++++ src/g80_driver.c
+@@ -34,7 +34,6 @@
+ #include <xf86Resources.h>
+ #endif
+ #include <mipointer.h>
+-#include <mibstore.h>
+ #include <micmap.h>
+ #include <xf86cmap.h>
+ #include <fb.h>
+@@ -833,7 +832,6 @@ G80ScreenInit(SCREEN_INIT_ARGS_DECL)
+ }
+ }
+
+- miInitializeBackingStore(pScreen);
+ xf86SetBackingStore(pScreen);
+ xf86SetSilkenMouse(pScreen);
+
diff --git a/x11/xf86-video-nv/patches/patch-src_nv__driver.c b/x11/xf86-video-nv/patches/patch-src_nv__driver.c
new file mode 100644
index 00000000000..1800a165fb2
--- /dev/null
+++ b/x11/xf86-video-nv/patches/patch-src_nv__driver.c
@@ -0,0 +1,21 @@
+$NetBSD: patch-src_nv__driver.c,v 1.1 2015/04/02 22:16:47 tnn Exp $
+
+From fc78fe98222b0204b8a2872a529763d6fe5048da Mon Sep 17 00:00:00 2001
+From: Adam Jackson <ajax@redhat.com>
+Date: Tue, 25 Sep 2012 08:54:49 -0400
+Subject: Remove mibstore.h
+
+Signed-off-by: Adam Jackson <ajax@redhat.com>
+
+diff --git a/src/nv_driver.c b/src/nv_driver.c
+index 6dad6e5..8f35334 100644
+--- src/nv_driver.c.orig 2012-07-17 06:47:02.000000000 +0000
++++ src/nv_driver.c
+@@ -2550,7 +2550,6 @@ NVScreenInit(SCREEN_INIT_ARGS_DECL)
+ if (!pNv->NoAccel)
+ NVAccelInit(pScreen);
+
+- miInitializeBackingStore(pScreen);
+ xf86SetBackingStore(pScreen);
+ xf86SetSilkenMouse(pScreen);
+
diff --git a/x11/xf86-video-nv/patches/patch-src_nv__include.h b/x11/xf86-video-nv/patches/patch-src_nv__include.h
new file mode 100644
index 00000000000..52b4b323b68
--- /dev/null
+++ b/x11/xf86-video-nv/patches/patch-src_nv__include.h
@@ -0,0 +1,38 @@
+$NetBSD: patch-src_nv__include.h,v 1.1 2015/04/02 22:16:47 tnn Exp $
+
+From 49ee1c26ea982e302169c949ebd0abb9d8ef362c Mon Sep 17 00:00:00 2001
+From: Jeremy White <jwhite@codeweavers.com>
+Date: Thu, 21 Mar 2013 08:59:06 -0700
+Subject: Include xf86Modes.h to use functions from
+ hw/xfree86/modes/xf86Modes.c.
+
+Signed-off-by: Jeremy White <jwhite@codeweavers.com>
+Reviewed-by: Robert Morell <rmorell@nvidia.com>
+Reviewed-by: Aaron Plattner <aplattner@nvidia.com>
+Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
+
+From fc78fe98222b0204b8a2872a529763d6fe5048da Mon Sep 17 00:00:00 2001
+From: Adam Jackson <ajax@redhat.com>
+Date: Tue, 25 Sep 2012 08:54:49 -0400
+Subject: Remove mibstore.h
+
+Signed-off-by: Adam Jackson <ajax@redhat.com>
+
+diff --git a/src/nv_include.h b/src/nv_include.h
+index f174eef..72c74d5 100644
+--- src/nv_include.h.orig 2012-07-17 06:48:19.000000000 +0000
++++ src/nv_include.h
+@@ -24,12 +24,10 @@
+ /* All drivers initialising the SW cursor need this */
+ #include "mipointer.h"
+
+-/* All drivers implementing backing store need this */
+-#include "mibstore.h"
+-
+ #include "micmap.h"
+
+ #include "xf86DDC.h"
++#include "xf86Modes.h"
+
+ #include "vbe.h"
+
diff --git a/x11/xf86-video-nv/patches/patch-src_riva_driver.c b/x11/xf86-video-nv/patches/patch-src_riva_driver.c
new file mode 100644
index 00000000000..ae2399ba62b
--- /dev/null
+++ b/x11/xf86-video-nv/patches/patch-src_riva_driver.c
@@ -0,0 +1,21 @@
+$NetBSD: patch-src_riva_driver.c,v 1.1 2015/04/02 22:16:47 tnn Exp $
+
+From fc78fe98222b0204b8a2872a529763d6fe5048da Mon Sep 17 00:00:00 2001
+From: Adam Jackson <ajax@redhat.com>
+Date: Tue, 25 Sep 2012 08:54:49 -0400
+Subject: Remove mibstore.h
+
+Signed-off-by: Adam Jackson <ajax@redhat.com>
+
+diff --git a/src/riva_driver.c b/src/riva_driver.c
+index e0667ef..759501e 100644
+--- src/riva_driver.c.orig 2012-07-17 06:47:02.000000000 +0000
++++ src/riva_driver.c
+@@ -1168,7 +1168,6 @@ RivaScreenInit(SCREEN_INIT_ARGS_DECL)
+ if (!pRiva->NoAccel)
+ RivaAccelInit(pScreen);
+
+- miInitializeBackingStore(pScreen);
+ xf86SetBackingStore(pScreen);
+ xf86SetSilkenMouse(pScreen);
+
diff --git a/x11/xf86-video-nv/patches/patch-src_riva_include.h b/x11/xf86-video-nv/patches/patch-src_riva_include.h
new file mode 100644
index 00000000000..4d12adf13f0
--- /dev/null
+++ b/x11/xf86-video-nv/patches/patch-src_riva_include.h
@@ -0,0 +1,23 @@
+$NetBSD: patch-src_riva_include.h,v 1.1 2015/04/02 22:16:47 tnn Exp $
+
+From fc78fe98222b0204b8a2872a529763d6fe5048da Mon Sep 17 00:00:00 2001
+From: Adam Jackson <ajax@redhat.com>
+Date: Tue, 25 Sep 2012 08:54:49 -0400
+Subject: Remove mibstore.h
+
+Signed-off-by: Adam Jackson <ajax@redhat.com>
+
+diff --git a/src/riva_include.h b/src/riva_include.h
+index f2c5302..c7aeef7 100644
+--- src/riva_include.h.orig 2012-07-17 06:48:45.000000000 +0000
++++ src/riva_include.h
+@@ -22,9 +22,6 @@
+ /* All drivers initialising the SW cursor need this */
+ #include "mipointer.h"
+
+-/* All drivers implementing backing store need this */
+-#include "mibstore.h"
+-
+ #include "micmap.h"
+
+ #include "xf86DDC.h"
diff --git a/x11/xf86-video-r128/distinfo b/x11/xf86-video-r128/distinfo
index b77b13d28dd..c31524fed95 100644
--- a/x11/xf86-video-r128/distinfo
+++ b/x11/xf86-video-r128/distinfo
@@ -1,5 +1,10 @@
-$NetBSD: distinfo,v 1.4 2013/10/03 08:31:23 wiz Exp $
+$NetBSD: distinfo,v 1.5 2015/04/02 22:16:47 tnn Exp $
SHA1 (xf86-video-r128-6.9.2.tar.bz2) = ba8b695caaecd94e266c480a644eae4c706b77d8
RMD160 (xf86-video-r128-6.9.2.tar.bz2) = 7e7e50560b770b1f70dd22c184ab13038a68402d
Size (xf86-video-r128-6.9.2.tar.bz2) = 462266 bytes
+SHA1 (patch-src_r128.h) = 7fbfa7bea412a55c8c8e6b075cea179e8a1da756
+SHA1 (patch-src_r128__dri.c) = 1d2d451d2a63c13f02e054c2ce6a7a1aea0d4fea
+SHA1 (patch-src_r128__driver.c) = eca52b2d8e678263256e73cc6fa71bf3ecf3f7f3
+SHA1 (patch-src_r128__probe.c) = 9a6ef4f3e3eb302639a629ee52408c0f70181032
+SHA1 (patch-src_r128__probe.h) = b397d1566f08d35f82ac8aad4615aa8ca805d622
diff --git a/x11/xf86-video-r128/patches/patch-src_r128.h b/x11/xf86-video-r128/patches/patch-src_r128.h
new file mode 100644
index 00000000000..71f7927b2c2
--- /dev/null
+++ b/x11/xf86-video-r128/patches/patch-src_r128.h
@@ -0,0 +1,27 @@
+$NetBSD: patch-src_r128.h,v 1.1 2015/04/02 22:16:47 tnn Exp $
+
+From 9eb693640136bc8bcbe706d642519b4eb23286d4 Mon Sep 17 00:00:00 2001
+From: Connor Behan <connor.behan@gmail.com>
+Date: Wed, 27 Nov 2013 18:14:43 -0800
+Subject: Only declare PCITAG if we need it
+
+If libpciaccess is available, we do not need to declare the deprecated
+PciTag member because it will not be used.
+
+Signed-off-by: Connor Behan <connor.behan@gmail.com>
+Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
+
+diff --git a/src/r128.h b/src/r128.h
+index 90071b4..ee0b1d4 100644
+--- src/r128.h.orig 2013-10-02 18:30:05.000000000 +0000
++++ src/r128.h
+@@ -301,7 +301,9 @@ struct r128_2d_state {
+ typedef struct {
+ EntityInfoPtr pEnt;
+ pciVideoPtr PciInfo;
++#ifndef XSERVER_LIBPCIACCESS
+ PCITAG PciTag;
++#endif
+ int Chipset;
+ Bool Primary;
+
diff --git a/x11/xf86-video-r128/patches/patch-src_r128__dri.c b/x11/xf86-video-r128/patches/patch-src_r128__dri.c
new file mode 100644
index 00000000000..3448ae705d7
--- /dev/null
+++ b/x11/xf86-video-r128/patches/patch-src_r128__dri.c
@@ -0,0 +1,25 @@
+$NetBSD: patch-src_r128__dri.c,v 1.1 2015/04/02 22:16:47 tnn Exp $
+
+From d757fe10b9ce9493ef3cf854bc03088366aa7256 Mon Sep 17 00:00:00 2001
+From: Connor Behan <connor.behan@gmail.com>
+Date: Fri, 22 Nov 2013 22:55:59 -0800
+Subject: Drop dependence on xf86PciInfo.h
+
+It is about time we stop using this deprecated file and include pciids
+locally.
+
+Signed-off-by: Connor Behan <connor.behan@gmail.com>
+Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
+
+diff --git a/src/r128_dri.c b/src/r128_dri.c
+index 67e8d1d..ff7bbc2 100644
+--- src/r128_dri.c.orig 2013-10-02 18:30:05.000000000 +0000
++++ src/r128_dri.c
+@@ -53,7 +53,6 @@
+
+ /* X and server generic header files */
+ #include "xf86.h"
+-#include "xf86PciInfo.h"
+ #include "windowstr.h"
+
+ #include "shadowfb.h"
diff --git a/x11/xf86-video-r128/patches/patch-src_r128__driver.c b/x11/xf86-video-r128/patches/patch-src_r128__driver.c
new file mode 100644
index 00000000000..c9be8c8427c
--- /dev/null
+++ b/x11/xf86-video-r128/patches/patch-src_r128__driver.c
@@ -0,0 +1,56 @@
+$NetBSD: patch-src_r128__driver.c,v 1.1 2015/04/02 22:16:47 tnn Exp $
+
+From 9eb693640136bc8bcbe706d642519b4eb23286d4 Mon Sep 17 00:00:00 2001
+From: Connor Behan <connor.behan@gmail.com>
+Date: Wed, 27 Nov 2013 18:14:43 -0800
+Subject: Only declare PCITAG if we need it
+
+If libpciaccess is available, we do not need to declare the deprecated
+PciTag member because it will not be used.
+
+Signed-off-by: Connor Behan <connor.behan@gmail.com>
+Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
+
+From d757fe10b9ce9493ef3cf854bc03088366aa7256 Mon Sep 17 00:00:00 2001
+From: Connor Behan <connor.behan@gmail.com>
+Date: Fri, 22 Nov 2013 22:55:59 -0800
+Subject: Drop dependence on xf86PciInfo.h
+
+It is about time we stop using this deprecated file and include pciids
+locally.
+
+Signed-off-by: Connor Behan <connor.behan@gmail.com>
+Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
+
+diff --git a/src/r128_driver.c b/src/r128_driver.c
+index 6acdf2d..04a4537 100644
+--- src/r128_driver.c.orig 2013-10-02 18:30:05.000000000 +0000
++++ src/r128_driver.c
+@@ -84,7 +84,6 @@
+ /* X and server generic header files */
+ #include "xf86.h"
+ #include "xf86_OSproc.h"
+-#include "xf86PciInfo.h"
+ #if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 6
+ #include "xf86RAC.h"
+ #include "xf86Resources.h"
+@@ -1955,9 +1954,6 @@ Bool R128PreInit(ScrnInfoPtr pScrn, int
+ }
+
+ info->PciInfo = xf86GetPciInfoForEntity(info->pEnt->index);
+- info->PciTag = pciTag(PCI_DEV_BUS(info->PciInfo),
+- PCI_DEV_DEV(info->PciInfo),
+- PCI_DEV_FUNC(info->PciInfo));
+
+ xf86DrvMsg(pScrn->scrnIndex, X_INFO,
+ "PCI bus %d card %d func %d\n",
+@@ -1966,6 +1962,9 @@ Bool R128PreInit(ScrnInfoPtr pScrn, int
+ PCI_DEV_FUNC(info->PciInfo));
+
+ #ifndef XSERVER_LIBPCIACCESS
++ info->PciTag = pciTag(PCI_DEV_BUS(info->PciInfo),
++ PCI_DEV_DEV(info->PciInfo),
++ PCI_DEV_FUNC(info->PciInfo));
+ if (xf86RegisterResources(info->pEnt->index, 0, ResNone)) goto fail;
+ if (xf86SetOperatingState(resVga, info->pEnt->index, ResUnusedOpr)) goto fail;
+
diff --git a/x11/xf86-video-r128/patches/patch-src_r128__probe.c b/x11/xf86-video-r128/patches/patch-src_r128__probe.c
new file mode 100644
index 00000000000..36ed2a3bcaf
--- /dev/null
+++ b/x11/xf86-video-r128/patches/patch-src_r128__probe.c
@@ -0,0 +1,26 @@
+$NetBSD: patch-src_r128__probe.c,v 1.1 2015/04/02 22:16:47 tnn Exp $
+
+From d757fe10b9ce9493ef3cf854bc03088366aa7256 Mon Sep 17 00:00:00 2001
+From: Connor Behan <connor.behan@gmail.com>
+Date: Fri, 22 Nov 2013 22:55:59 -0800
+Subject: Drop dependence on xf86PciInfo.h
+
+It is about time we stop using this deprecated file and include pciids
+locally.
+
+Signed-off-by: Connor Behan <connor.behan@gmail.com>
+Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
+
+diff --git a/src/r128_probe.c b/src/r128_probe.c
+index 7f1fbda..12e0c1c 100644
+--- src/r128_probe.c.orig 2013-10-02 18:30:05.000000000 +0000
++++ src/r128_probe.c
+@@ -43,8 +43,6 @@
+ #include "atipcirename.h"
+
+ #include "xf86.h"
+-#include "xf86PciInfo.h"
+-
+
+ #if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 6
+ #include "xf86Resources.h"
diff --git a/x11/xf86-video-r128/patches/patch-src_r128__probe.h b/x11/xf86-video-r128/patches/patch-src_r128__probe.h
new file mode 100644
index 00000000000..37fc019087f
--- /dev/null
+++ b/x11/xf86-video-r128/patches/patch-src_r128__probe.h
@@ -0,0 +1,74 @@
+$NetBSD: patch-src_r128__probe.h,v 1.1 2015/04/02 22:16:47 tnn Exp $
+
+From d757fe10b9ce9493ef3cf854bc03088366aa7256 Mon Sep 17 00:00:00 2001
+From: Connor Behan <connor.behan@gmail.com>
+Date: Fri, 22 Nov 2013 22:55:59 -0800
+Subject: Drop dependence on xf86PciInfo.h
+
+It is about time we stop using this deprecated file and include pciids
+locally.
+
+Signed-off-by: Connor Behan <connor.behan@gmail.com>
+Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
+
+diff --git a/src/r128_probe.h b/src/r128_probe.h
+index 41fc0e4..7b55e71 100644
+--- src/r128_probe.h.orig 2013-10-02 18:30:05.000000000 +0000
++++ src/r128_probe.h
+@@ -38,6 +38,56 @@
+
+ #include "xf86str.h"
+
++/* Chip definitions */
++#define PCI_VENDOR_ATI 0x1002
++#define PCI_CHIP_RAGE128LE 0x4C45
++#define PCI_CHIP_RAGE128LF 0x4C46
++#define PCI_CHIP_RAGE128MF 0x4D46
++#define PCI_CHIP_RAGE128ML 0x4D4C
++#define PCI_CHIP_RAGE128PA 0x5041
++#define PCI_CHIP_RAGE128PB 0x5042
++#define PCI_CHIP_RAGE128PC 0x5043
++#define PCI_CHIP_RAGE128PD 0x5044
++#define PCI_CHIP_RAGE128PE 0x5045
++#define PCI_CHIP_RAGE128PF 0x5046
++#define PCI_CHIP_RAGE128PG 0x5047
++#define PCI_CHIP_RAGE128PH 0x5048
++#define PCI_CHIP_RAGE128PI 0x5049
++#define PCI_CHIP_RAGE128PJ 0x504A
++#define PCI_CHIP_RAGE128PK 0x504B
++#define PCI_CHIP_RAGE128PL 0x504C
++#define PCI_CHIP_RAGE128PM 0x504D
++#define PCI_CHIP_RAGE128PN 0x504E
++#define PCI_CHIP_RAGE128PO 0x504F
++#define PCI_CHIP_RAGE128PP 0x5050
++#define PCI_CHIP_RAGE128PQ 0x5051
++#define PCI_CHIP_RAGE128PR 0x5052
++#define PCI_CHIP_RAGE128PS 0x5053
++#define PCI_CHIP_RAGE128PT 0x5054
++#define PCI_CHIP_RAGE128PU 0x5055
++#define PCI_CHIP_RAGE128PV 0x5056
++#define PCI_CHIP_RAGE128PW 0x5057
++#define PCI_CHIP_RAGE128PX 0x5058
++#define PCI_CHIP_RAGE128RE 0x5245
++#define PCI_CHIP_RAGE128RF 0x5246
++#define PCI_CHIP_RAGE128RG 0x5247
++#define PCI_CHIP_RAGE128RK 0x524B
++#define PCI_CHIP_RAGE128RL 0x524C
++#define PCI_CHIP_RAGE128SE 0x5345
++#define PCI_CHIP_RAGE128SF 0x5346
++#define PCI_CHIP_RAGE128SG 0x5347
++#define PCI_CHIP_RAGE128SH 0x5348
++#define PCI_CHIP_RAGE128SK 0x534B
++#define PCI_CHIP_RAGE128SL 0x534C
++#define PCI_CHIP_RAGE128SM 0x534D
++#define PCI_CHIP_RAGE128SN 0x534E
++#define PCI_CHIP_RAGE128TF 0x5446
++#define PCI_CHIP_RAGE128TL 0x544C
++#define PCI_CHIP_RAGE128TR 0x5452
++#define PCI_CHIP_RAGE128TS 0x5453
++#define PCI_CHIP_RAGE128TT 0x5454
++#define PCI_CHIP_RAGE128TU 0x5455
++
+ extern DriverRec R128;
+
+ typedef struct
diff --git a/x11/xf86-video-rendition/distinfo b/x11/xf86-video-rendition/distinfo
index b00892e9c4e..db677af6cc8 100644
--- a/x11/xf86-video-rendition/distinfo
+++ b/x11/xf86-video-rendition/distinfo
@@ -1,5 +1,7 @@
-$NetBSD: distinfo,v 1.6 2013/05/16 06:23:31 richard Exp $
+$NetBSD: distinfo,v 1.7 2015/04/02 22:16:47 tnn Exp $
SHA1 (xf86-video-rendition-4.2.5.tar.bz2) = 930e99e4d44418b1e55f11a2a8525b42b0e2d3b5
RMD160 (xf86-video-rendition-4.2.5.tar.bz2) = cbd0441ed0aa4bf13765fecfe9ab246fab951ab7
Size (xf86-video-rendition-4.2.5.tar.bz2) = 356351 bytes
+SHA1 (patch-src_rendition.c) = 186c838964c83f34e39ff74c7525b19601a2577e
+SHA1 (patch-src_rendition.h) = 1d69e2b9e92de84d25027a67c09077baf712ece3
diff --git a/x11/xf86-video-rendition/patches/patch-src_rendition.c b/x11/xf86-video-rendition/patches/patch-src_rendition.c
new file mode 100644
index 00000000000..d1d4c8895b5
--- /dev/null
+++ b/x11/xf86-video-rendition/patches/patch-src_rendition.c
@@ -0,0 +1,70 @@
+$NetBSD: patch-src_rendition.c,v 1.1 2015/04/02 22:16:47 tnn Exp $
+
+From 30a4b73644ee22904824d4847e44ca69369fad02 Mon Sep 17 00:00:00 2001
+From: Adam Jackson <ajax@redhat.com>
+Date: Tue, 30 Sep 2014 10:21:58 -0400
+Subject: Fix build against xserver 1.17
+
+Also port from pci_device_map_region to pci_device_map_range. Somewhat
+alarming that the previous code was using map_region but unmap_range...
+
+Signed-off-by: Adam Jackson <ajax@redhat.com>
+
+From 3a3ee1c45e54a808947cc26ca11f0a5299571053 Mon Sep 17 00:00:00 2001
+From: Adam Jackson <ajax@redhat.com>
+Date: Tue, 25 Sep 2012 08:54:50 -0400
+Subject: Remove mibstore.h
+
+Signed-off-by: Adam Jackson <ajax@redhat.com>
+
+--- src/rendition.c.orig 2015-04-02 19:20:42.000000000 +0000
++++ src/rendition.c
+@@ -1173,7 +1173,6 @@ renditionScreenInit(SCREEN_INIT_ARGS_DEC
+ fbPictureInit (pScreen, 0, 0);
+
+ xf86SetBlackWhitePixels(pScreen);
+- miInitializeBackingStore(pScreen);
+
+ /*********************************************************/
+ /* The actual setup of the driver-specific code */
+@@ -1372,6 +1371,18 @@ renditionMapMem(ScrnInfoPtr pScreenInfo)
+ /* Override on users request */
+ WriteCombine
+ = xf86ReturnOptValBool(pRendition->Options, OPTION_FBWC, WriteCombine);
++#ifdef XSERVER_LIBPCIACCESS
++ mapOption = PCI_DEV_MAP_FLAG_WRITABLE;
++ if (WriteCombine)
++ mapOption |= PCI_DEV_MAP_FLAG_WRITE_COMBINE;
++
++ err = pci_device_map_range(pRendition->PciInfo,
++ pRendition->PciInfo->regions[0].base_addr,
++ pRendition->PciInfo->regions[0].size,
++ mapOption, (void *)&pRendition->board.vmem_base);
++
++ return (err == 0);
++#else
+ if (WriteCombine) {
+ xf86DrvMsg(pScreenInfo->scrnIndex, X_CONFIG,
+ ("Requesting Write-Combined memory access\n"));
+@@ -1382,12 +1393,6 @@ renditionMapMem(ScrnInfoPtr pScreenInfo)
+ mapOption = VIDMEM_MMIO;
+ }
+
+-#ifdef XSERVER_LIBPCIACCESS
+- err = pci_device_map_region(pRendition->PciInfo, 0, TRUE);
+- pRendition->board.vmem_base = pRendition->PciInfo->regions[0].memory;
+-
+- return (err == 0);
+-#else
+ pRendition->board.vmem_base=
+ xf86MapPciMem(pScreenInfo->scrnIndex, mapOption,
+ pRendition->pcitag,
+@@ -1416,7 +1421,7 @@ renditionUnmapMem(ScrnInfoPtr pScreenInf
+ #else
+ pci_device_unmap_range(pRendition->PciInfo,
+ pRendition->board.vmem_base,
+- pScreenInfo->videoRam * 1024);
++ pRendition->PciInfo->regions[0].size);
+ #endif
+ return TRUE;
+ #ifdef DEBUG0
diff --git a/x11/xf86-video-rendition/patches/patch-src_rendition.h b/x11/xf86-video-rendition/patches/patch-src_rendition.h
new file mode 100644
index 00000000000..d0ba602a529
--- /dev/null
+++ b/x11/xf86-video-rendition/patches/patch-src_rendition.h
@@ -0,0 +1,50 @@
+$NetBSD: patch-src_rendition.h,v 1.1 2015/04/02 22:16:47 tnn Exp $
+
+From df5646745bf563bb36a0db1796c318fe64bf8efe Mon Sep 17 00:00:00 2001
+From: Adam Jackson <ajax@redhat.com>
+Date: Tue, 30 Sep 2014 10:24:18 -0400
+Subject: Remove dependency on xf86PciInfo.h
+
+Signed-off-by: Adam Jackson <ajax@redhat.com>
+
+From 30a4b73644ee22904824d4847e44ca69369fad02 Mon Sep 17 00:00:00 2001
+From: Adam Jackson <ajax@redhat.com>
+Date: Tue, 30 Sep 2014 10:21:58 -0400
+Subject: Fix build against xserver 1.17
+
+Also port from pci_device_map_region to pci_device_map_range. Somewhat
+alarming that the previous code was using map_region but unmap_range...
+
+Signed-off-by: Adam Jackson <ajax@redhat.com>
+
+--- src/rendition.h.orig 2015-04-02 19:20:48.000000000 +0000
++++ src/rendition.h
+@@ -14,9 +14,6 @@
+ /* Everything using inb/outb, etc needs "compiler.h" */
+ #include "compiler.h"
+
+-/* Drivers for PCI hardware need this */
+-#include "xf86PciInfo.h"
+-
+ /* Drivers that need to access the PCI config space directly need this */
+ #include "xf86Pci.h"
+
+@@ -28,9 +25,6 @@
+ /* All drivers initialising the SW cursor need this */
+ #include "mipointer.h"
+
+-/* All drivers implementing backing store need this */
+-#include "mibstore.h"
+-
+ /* All drivers using the mi colormap manipulation need this */
+ #include "micmap.h"
+
+@@ -69,4 +63,8 @@
+
+ #include "compat-api.h"
+ /* end of __RENDITION_H__ */
++
++#define PCI_CHIP_V1000 0x0001
++#define PCI_CHIP_V2x00 0x2000
++
+ #endif
diff --git a/x11/xf86-video-s3/distinfo b/x11/xf86-video-s3/distinfo
index 9f5209766db..0a4d3ba5dda 100644
--- a/x11/xf86-video-s3/distinfo
+++ b/x11/xf86-video-s3/distinfo
@@ -1,5 +1,6 @@
-$NetBSD: distinfo,v 1.5 2013/05/16 06:24:19 richard Exp $
+$NetBSD: distinfo,v 1.6 2015/04/02 22:16:47 tnn Exp $
SHA1 (xf86-video-s3-0.6.5.tar.bz2) = e9d715fbcddd7bef32b0216e1b7fd976c7538be2
RMD160 (xf86-video-s3-0.6.5.tar.bz2) = 8dfe48f967666c55fe54abd22ca132ce3695f534
Size (xf86-video-s3-0.6.5.tar.bz2) = 325582 bytes
+SHA1 (patch-src_s3__driver.c) = 2c3a6a74c27305c097464f36627e7176ad63b9b8
diff --git a/x11/xf86-video-s3/patches/patch-src_s3__driver.c b/x11/xf86-video-s3/patches/patch-src_s3__driver.c
new file mode 100644
index 00000000000..2be53c6e0d7
--- /dev/null
+++ b/x11/xf86-video-s3/patches/patch-src_s3__driver.c
@@ -0,0 +1,32 @@
+$NetBSD: patch-src_s3__driver.c,v 1.1 2015/04/02 22:16:47 tnn Exp $
+
+From ed0fbfd27609e897c42d7ab316481a9504746233 Mon Sep 17 00:00:00 2001
+From: Gaetan Nadon <memsize@videotron.ca>
+Date: Tue, 7 Jan 2014 16:28:58 -0500
+Subject: Remove mibstore.h
+
+As it was done in numerous other drivers. Fixes compile error.
+
+Tested-by: Trevor Woerner <trevor.woerner@linaro.org>
+Signed-off-by: Gaetan Nadon <memsize@videotron.ca>
+
+diff --git a/src/s3_driver.c b/src/s3_driver.c
+index 61242ad..85763ba 100644
+--- src/s3_driver.c
++++ src/s3_driver.c
+@@ -52,7 +52,6 @@
+ #include "compiler.h"
+ #include "mipointer.h"
+ #include "micmap.h"
+-#include "mibstore.h"
+ #include "fb.h"
+ #include "inputstr.h"
+ #include "shadowfb.h"
+@@ -822,7 +821,6 @@ static Bool S3ScreenInit(SCREEN_INIT_ARGS_DECL)
+ fbPictureInit (pScreen, 0, 0);
+ S3DGAInit(pScreen);
+
+- miInitializeBackingStore(pScreen);
+ xf86SetBackingStore(pScreen);
+
+ /* framebuffer manager setup */
diff --git a/x11/xf86-video-s3virge/distinfo b/x11/xf86-video-s3virge/distinfo
index c27af62bd52..08627f6b80d 100644
--- a/x11/xf86-video-s3virge/distinfo
+++ b/x11/xf86-video-s3virge/distinfo
@@ -1,5 +1,6 @@
-$NetBSD: distinfo,v 1.6 2013/05/16 06:25:10 richard Exp $
+$NetBSD: distinfo,v 1.7 2015/04/02 22:16:47 tnn Exp $
SHA1 (xf86-video-s3virge-1.10.6.tar.bz2) = c99ee4bd6253890a5be3cf246d535be4579c1b80
RMD160 (xf86-video-s3virge-1.10.6.tar.bz2) = c0ca1f685c84182290391b2bff9a7634d54c311c
Size (xf86-video-s3virge-1.10.6.tar.bz2) = 349790 bytes
+SHA1 (patch-src_s3v__driver.c) = b19bd7d299c2fe0f672d8000e581fde3c715ace9
diff --git a/x11/xf86-video-s3virge/patches/patch-src_s3v__driver.c b/x11/xf86-video-s3virge/patches/patch-src_s3v__driver.c
new file mode 100644
index 00000000000..807d509e30a
--- /dev/null
+++ b/x11/xf86-video-s3virge/patches/patch-src_s3v__driver.c
@@ -0,0 +1,75 @@
+$NetBSD: patch-src_s3v__driver.c,v 1.1 2015/04/02 22:16:48 tnn Exp $
+
+From 211e2831dcf13c6e5847f6caf894f559d9104c3d Mon Sep 17 00:00:00 2001
+From: Adam Jackson <ajax@redhat.com>
+Date: Tue, 30 Sep 2014 10:27:13 -0400
+Subject: Remove call to miInitializeBackingStore
+
+Signed-off-by: Adam Jackson <ajax@redhat.com>
+
+From 69b9adea709922e53ba422dd7f00aa4ac90d232e Mon Sep 17 00:00:00 2001
+From: Adam Jackson <ajax@redhat.com>
+Date: Tue, 30 Sep 2014 10:26:17 -0400
+Subject: Fix build against xserver 1.17
+
+Signed-off-by: Adam Jackson <ajax@redhat.com>
+
+From d74238ca2faddb2e1c0b48333664688a5079a856 Mon Sep 17 00:00:00 2001
+From: Adam Jackson <ajax@redhat.com>
+Date: Wed, 21 May 2014 14:10:11 -0400
+Subject: Use own thunk function instead of vgaHW*Weak
+
+I plan to remove the Weak functions from a future server.
+
+Signed-off-by: Adam Jackson <ajax@redhat.com>
+
+--- src/s3v_driver.c.orig 2015-04-02 19:28:57.000000000 +0000
++++ src/s3v_driver.c
+@@ -2420,7 +2420,6 @@ S3VScreenInit(SCREEN_INIT_ARGS_DECL)
+ return FALSE;
+ }
+
+- miInitializeBackingStore(pScreen);
+ xf86SetBackingStore(pScreen);
+ xf86SetSilkenMouse(pScreen);
+ /* hardware cursor needs to wrap this layer */
+@@ -3515,7 +3514,7 @@ S3VEnableMmio(ScrnInfoPtr pScrn)
+ {
+ vgaHWPtr hwp;
+ S3VPtr ps3v;
+- IOADDRESS vgaCRIndex, vgaCRReg;
++ unsigned int vgaCRIndex, vgaCRReg;
+ unsigned char val;
+ unsigned int PIOOffset = 0;
+
+@@ -3584,7 +3583,7 @@ S3VDisableMmio(ScrnInfoPtr pScrn)
+ {
+ vgaHWPtr hwp;
+ S3VPtr ps3v;
+- IOADDRESS vgaCRIndex, vgaCRReg;
++ unsigned int vgaCRIndex, vgaCRReg;
+
+ PVERB5(" S3VDisableMmio\n");
+
+@@ -3760,6 +3759,12 @@ S3Vddc1Read(ScrnInfoPtr pScrn)
+ return ((unsigned int) (tmp & 0x08));
+ }
+
++static void
++S3Vddc1SetSpeed(ScrnInfoPtr pScrn, xf86ddcSpeed speed)
++{
++ vgaHWddc1SetSpeed(pScrn, speed);
++}
++
+ static Bool
+ S3Vddc1(ScrnInfoPtr pScrn)
+ {
+@@ -3773,7 +3778,7 @@ S3Vddc1(ScrnInfoPtr pScrn)
+ OUTREG(DDC_REG,(tmp | 0x12));
+
+ if ((pMon = xf86PrintEDID(
+- xf86DoEDID_DDC1(XF86_SCRN_ARG(pScrn),vgaHWddc1SetSpeedWeak(),
++ xf86DoEDID_DDC1(XF86_SCRN_ARG(pScrn), S3Vddc1SetSpeed,
+ S3Vddc1Read))) != NULL)
+ success = TRUE;
+ xf86SetDDCproperties(pScrn,pMon);
diff --git a/x11/xf86-video-savage/distinfo b/x11/xf86-video-savage/distinfo
index d17a1d520d0..8f9c95b585d 100644
--- a/x11/xf86-video-savage/distinfo
+++ b/x11/xf86-video-savage/distinfo
@@ -1,5 +1,8 @@
-$NetBSD: distinfo,v 1.7 2013/10/04 20:54:17 wiz Exp $
+$NetBSD: distinfo,v 1.8 2015/04/02 22:16:48 tnn Exp $
SHA1 (xf86-video-savage-2.3.7.tar.bz2) = 9ce8474c7f1035d914ac2a77cd6d54b62d19260d
RMD160 (xf86-video-savage-2.3.7.tar.bz2) = 79ef65340cd758168ac5f949dfaf9bbb37673634
Size (xf86-video-savage-2.3.7.tar.bz2) = 395249 bytes
+SHA1 (patch-src-savage__driver.h) = 9ae393de1d275d43f1dd61c5745be9f5f9d42269
+SHA1 (patch-src_savage__dri.c) = f36f99b7f6c1cf61eb117449909c9899f065aead
+SHA1 (patch-src_savage__driver.c) = 3e6d031399a8f569efa1841d1eb67c46217b6ef1
diff --git a/x11/xf86-video-savage/patches/patch-src-savage__driver.h b/x11/xf86-video-savage/patches/patch-src-savage__driver.h
new file mode 100644
index 00000000000..23c4edace35
--- /dev/null
+++ b/x11/xf86-video-savage/patches/patch-src-savage__driver.h
@@ -0,0 +1,23 @@
+$NetBSD: patch-src-savage__driver.h,v 1.1 2015/04/02 22:16:48 tnn Exp $
+
+From 2e9217bb88b76cebfcd2b65b76c8733f80da77ea Mon Sep 17 00:00:00 2001
+From: Jeremy White <jwhite@codeweavers.com>
+Date: Thu, 21 Mar 2013 10:59:13 -0500
+Subject: Include xf86Modes.h to use functions from
+ hw/xfree86/modes/xf86Modes.c.
+
+Signed-off-by: Jeremy White <jwhite@codeweavers.com>
+Reviewed-by: Robert Morell <rmorell@nvidia.com>
+
+diff --git a/src/savage_driver.h b/src/savage_driver.h
+index ec4b1ea..de042af 100644
+--- src/savage_driver.h
++++ src/savage_driver.h
+@@ -54,6 +54,7 @@
+ #if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 6
+ #include "xf86Resources.h"
+ #endif
++#include "xf86Modes.h"
+ #include "xf86Pci.h"
+ #include "xf86_OSproc.h"
+ #include "xf86Cursor.h"
diff --git a/x11/xf86-video-savage/patches/patch-src_savage__dri.c b/x11/xf86-video-savage/patches/patch-src_savage__dri.c
new file mode 100644
index 00000000000..29c0c5abd9d
--- /dev/null
+++ b/x11/xf86-video-savage/patches/patch-src_savage__dri.c
@@ -0,0 +1,23 @@
+$NetBSD: patch-src_savage__dri.c,v 1.1 2015/04/02 22:16:48 tnn Exp $
+
+From d28cd83c7b0b4a943efbe5ddf257c8ee2646ea73 Mon Sep 17 00:00:00 2001
+From: Adam Jackson <ajax@redhat.com>
+Date: Tue, 29 Jul 2014 09:15:26 -0400
+Subject: dri: Stop (uselessly) initializing the ValidateTree hooks
+
+Signed-off-by: Adam Jackson <ajax@redhat.com>
+
+diff --git a/src/savage_dri.c b/src/savage_dri.c
+index bdb78e4..0842821 100644
+--- src/savage_dri.c
++++ src/savage_dri.c
+@@ -875,9 +875,6 @@ Bool SAVAGEDRIScreenInit( ScreenPtr pScreen )
+ psav->coreWakeupHandler = pDRIInfo->wrap.WakeupHandler;
+ pDRIInfo->wrap.WakeupHandler = SAVAGEWakeupHandler;
+
+- pDRIInfo->wrap.ValidateTree = NULL;
+- pDRIInfo->wrap.PostValidateTree = NULL;
+-
+ pDRIInfo->createDummyCtx = TRUE;
+ pDRIInfo->createDummyCtxPriv = FALSE;
+
diff --git a/x11/xf86-video-savage/patches/patch-src_savage__driver.c b/x11/xf86-video-savage/patches/patch-src_savage__driver.c
new file mode 100644
index 00000000000..45242de5297
--- /dev/null
+++ b/x11/xf86-video-savage/patches/patch-src_savage__driver.c
@@ -0,0 +1,38 @@
+$NetBSD: patch-src_savage__driver.c,v 1.1 2015/04/02 22:16:48 tnn Exp $
+
+From 16a672d1ba183601d513c4cdca32b47e926a6d1e Mon Sep 17 00:00:00 2001
+From: Adam Jackson <ajax@redhat.com>
+Date: Wed, 21 May 2014 14:11:46 -0400
+Subject: Use own thunk function instead of vgaHW*Weak
+
+I plan to remove the Weak functions from a future server.
+
+Signed-off-by: Adam Jackson <ajax@redhat.com>
+
+diff --git a/src/savage_driver.c b/src/savage_driver.c
+index bca2c60..e82794f 100644
+--- src/savage_driver.c
++++ src/savage_driver.c
+@@ -4576,6 +4576,12 @@ SavageDDC1Read(ScrnInfoPtr pScrn)
+ return ((unsigned int) (tmp & 0x08));
+ }
+
++static void
++SavageDDC1SetSpeed(ScrnInfoPtr pScrn, xf86ddcSpeed speed)
++{
++ vgaHWddc1SetSpeed(pScrn, speed);
++}
++
+ static Bool
+ SavageDDC1(ScrnInfoPtr pScrn)
+ {
+@@ -4589,7 +4595,8 @@ SavageDDC1(ScrnInfoPtr pScrn)
+ InI2CREG(byte,psav->I2CPort);
+ OutI2CREG(byte | 0x12,psav->I2CPort);
+
+- pMon = xf86DoEDID_DDC1(XF86_SCRN_ARG(pScrn),vgaHWddc1SetSpeedWeak(),SavageDDC1Read);
++ pMon = xf86DoEDID_DDC1(XF86_SCRN_ARG(pScrn), SavageDDC1SetSpeed,
++ SavageDDC1Read);
+ if (!pMon)
+ return FALSE;
+
diff --git a/x11/xf86-video-siliconmotion/distinfo b/x11/xf86-video-siliconmotion/distinfo
index 32167a31668..c4d9e3ae3dc 100644
--- a/x11/xf86-video-siliconmotion/distinfo
+++ b/x11/xf86-video-siliconmotion/distinfo
@@ -1,5 +1,9 @@
-$NetBSD: distinfo,v 1.5 2013/05/16 06:26:56 richard Exp $
+$NetBSD: distinfo,v 1.6 2015/04/02 22:16:48 tnn Exp $
SHA1 (xf86-video-siliconmotion-1.7.7.tar.bz2) = 60dc57c6ff6e0cd3f73076fce3c11d7e788ce7c1
RMD160 (xf86-video-siliconmotion-1.7.7.tar.bz2) = c13359237e287a6318ab29aa906c9be034b13c39
Size (xf86-video-siliconmotion-1.7.7.tar.bz2) = 385957 bytes
+SHA1 (patch-src_smi.h) = 37cb65b27e2ef800f53245ffd583e2c748387303
+SHA1 (patch-src_smi__driver.c) = 1a0f21bbd97b92c991721ca01e14ecadd3e6e5aa
+SHA1 (patch-src_smi__i2c.c) = 5b34193c40e5124f2f79d7559454efbcba10f7a2
+SHA1 (patch-src_smilynx__hw.c) = ff4df02bd80753d2b4f25f3264e920feb07073ac
diff --git a/x11/xf86-video-siliconmotion/patches/patch-src_smi.h b/x11/xf86-video-siliconmotion/patches/patch-src_smi.h
new file mode 100644
index 00000000000..9fb4207660a
--- /dev/null
+++ b/x11/xf86-video-siliconmotion/patches/patch-src_smi.h
@@ -0,0 +1,51 @@
+$NetBSD: patch-src_smi.h,v 1.1 2015/04/02 22:16:48 tnn Exp $
+
+From c31d7f853d7469085f96f1e37923c260884c611c Mon Sep 17 00:00:00 2001
+From: Adam Jackson <ajax@redhat.com>
+Date: Tue, 30 Sep 2014 10:34:07 -0400
+Subject: Remove dependency on xf86PciInfo.h
+
+Signed-off-by: Adam Jackson <ajax@redhat.com>
+
+From b0b287209cfba5c64c7584b1a82ed2a2f1eab7e6 Mon Sep 17 00:00:00 2001
+From: Adam Jackson <ajax@redhat.com>
+Date: Tue, 30 Sep 2014 10:28:48 -0400
+Subject: Fix build against xserver 1.17
+
+Signed-off-by: Adam Jackson <ajax@redhat.com>
+
+--- src/smi.h.orig 2015-04-02 19:47:42.000000000 +0000
++++ src/smi.h
+@@ -37,7 +37,6 @@ authorization from the XFree86 Project a
+
+ #include "xf86.h"
+ #include "xf86_OSproc.h"
+-#include "xf86PciInfo.h"
+ #include "xf86Pci.h"
+ #include "xf86Cursor.h"
+ #include "vgaHW.h"
+@@ -68,6 +67,15 @@ authorization from the XFree86 Project a
+ /* D E F I N I T I O N S */
+ /******************************************************************************/
+
++#define PCI_VENDOR_SMI 0x126F
++#define PCI_CHIP_SMI910 0x0910
++#define PCI_CHIP_SMI810 0x0810
++#define PCI_CHIP_SMI820 0x0820
++#define PCI_CHIP_SMI710 0x0710
++#define PCI_CHIP_SMI712 0x0712
++#define PCI_CHIP_SMI720 0x0720
++#define PCI_CHIP_SMI731 0x0730
++
+ #ifndef SMI_DEBUG
+ #define SMI_DEBUG 0
+ #endif
+@@ -221,7 +229,7 @@ typedef struct
+ CARD8 * DataPortBase; /* Base of data port */
+ int DataPortSize; /* Size of data port */
+ CARD8 * IOBase; /* Base of MMIO VGA ports */
+- IOADDRESS PIOBase; /* Base of I/O ports */
++ unsigned int PIOBase; /* Base of I/O ports */
+ unsigned char * FBBase; /* Base of FB */
+ CARD32 fbMapOffset; /* offset for fb mapping */
+ CARD32 FBOffset; /* Current visual FB starting
diff --git a/x11/xf86-video-siliconmotion/patches/patch-src_smi__driver.c b/x11/xf86-video-siliconmotion/patches/patch-src_smi__driver.c
new file mode 100644
index 00000000000..211d9beb5be
--- /dev/null
+++ b/x11/xf86-video-siliconmotion/patches/patch-src_smi__driver.c
@@ -0,0 +1,20 @@
+$NetBSD: patch-src_smi__driver.c,v 1.1 2015/04/02 22:16:48 tnn Exp $
+
+From f19d7e463c30f1364e82e8c9f87b8a8407d53680 Mon Sep 17 00:00:00 2001
+From: Adam Jackson <ajax@redhat.com>
+Date: Wed, 9 Jan 2013 22:59:39 -0500
+Subject: Remove miInitializeBackingStore()
+
+Signed-off-by: Adam Jackson <ajax@redhat.com>
+
+--- src/smi_driver.c.orig 2015-04-02 19:47:46.000000000 +0000
++++ src/smi_driver.c
+@@ -1750,8 +1750,6 @@ SMI_ScreenInit(SCREEN_INIT_ARGS_DECL)
+ "Done writing mode. Register dump:\n");
+ SMI_PrintRegs(pScrn);
+
+- miInitializeBackingStore(pScreen);
+-
+ #ifdef HAVE_XMODES
+ xf86DiDGAInit(pScreen, (unsigned long)(pSmi->FBBase + pScrn->fbOffset));
+ #endif
diff --git a/x11/xf86-video-siliconmotion/patches/patch-src_smi__i2c.c b/x11/xf86-video-siliconmotion/patches/patch-src_smi__i2c.c
new file mode 100644
index 00000000000..e73bd08c7fc
--- /dev/null
+++ b/x11/xf86-video-siliconmotion/patches/patch-src_smi__i2c.c
@@ -0,0 +1,19 @@
+$NetBSD: patch-src_smi__i2c.c,v 1.1 2015/04/02 22:16:48 tnn Exp $
+
+From c31d7f853d7469085f96f1e37923c260884c611c Mon Sep 17 00:00:00 2001
+From: Adam Jackson <ajax@redhat.com>
+Date: Tue, 30 Sep 2014 10:34:07 -0400
+Subject: Remove dependency on xf86PciInfo.h
+
+Signed-off-by: Adam Jackson <ajax@redhat.com>
+
+--- src/smi_i2c.c.orig 2015-04-02 19:47:50.000000000 +0000
++++ src/smi_i2c.c
+@@ -35,7 +35,6 @@ authorization from the XFree86 Project a
+ #include "xf86_OSproc.h"
+ #include "compiler.h"
+ #include "xf86Pci.h"
+-#include "xf86PciInfo.h"
+ #include "vgaHW.h"
+
+ #include "smi.h"
diff --git a/x11/xf86-video-siliconmotion/patches/patch-src_smilynx__hw.c b/x11/xf86-video-siliconmotion/patches/patch-src_smilynx__hw.c
new file mode 100644
index 00000000000..c5e2350ec37
--- /dev/null
+++ b/x11/xf86-video-siliconmotion/patches/patch-src_smilynx__hw.c
@@ -0,0 +1,42 @@
+$NetBSD: patch-src_smilynx__hw.c,v 1.1 2015/04/02 22:16:48 tnn Exp $
+
+From 08d459d2b548ce89264f45c7018f1cda9f08d795 Mon Sep 17 00:00:00 2001
+From: Adam Jackson <ajax@redhat.com>
+Date: Tue, 30 Sep 2014 10:31:52 -0400
+Subject: Fix a typo
+
+Signed-off-by: Adam Jackson <ajax@redhat.com>
+
+From 9b563415326e02f0b89f716c29b2fc22f393fb96 Mon Sep 17 00:00:00 2001
+From: Adam Jackson <ajax@redhat.com>
+Date: Wed, 21 May 2014 14:01:02 -0400
+Subject: Use own thunk function instead of vgaHW*Weak
+
+I plan to remove the Weak functions from a future server.
+
+Signed-off-by: Adam Jackson <ajax@redhat.com>
+
+--- src/smilynx_hw.c.orig 2015-04-02 19:47:54.000000000 +0000
++++ src/smilynx_hw.c
+@@ -572,6 +572,12 @@ SMILynx_ddc1Read(ScrnInfoPtr pScrn)
+ LEAVE(ret);
+ }
+
++static void
++SMILynx_ddc1SetSpeed(ScrnInfoPtr pScrn, xf86ddcSpeed speed)
++{
++ vgaHWddc1SetSpeed(pScrn, speed);
++}
++
+ xf86MonPtr
+ SMILynx_ddc1(ScrnInfoPtr pScrn)
+ {
+@@ -585,7 +591,7 @@ SMILynx_ddc1(ScrnInfoPtr pScrn)
+ VGAOUT8_INDEX(pSmi, VGA_SEQ_INDEX, VGA_SEQ_DATA, 0x72, tmp | 0x20);
+
+ pMon = xf86PrintEDID(xf86DoEDID_DDC1(XF86_SCRN_ARG(pScrn),
+- vgaHWddc1SetSpeedWeak(),
++ SMILynx_ddc1SetSpeed,
+ SMILynx_ddc1Read));
+ VGAOUT8_INDEX(pSmi, VGA_SEQ_INDEX, VGA_SEQ_DATA, 0x72, tmp);
+
diff --git a/x11/xf86-video-sis/distinfo b/x11/xf86-video-sis/distinfo
index 16e03d11733..57676047f1d 100644
--- a/x11/xf86-video-sis/distinfo
+++ b/x11/xf86-video-sis/distinfo
@@ -1,5 +1,8 @@
-$NetBSD: distinfo,v 1.7 2013/05/16 06:27:55 richard Exp $
+$NetBSD: distinfo,v 1.8 2015/04/02 22:16:48 tnn Exp $
SHA1 (xf86-video-sis-0.10.7.tar.bz2) = 8f8cd88fe7d3a85f6bf2b12a34fd55db35f186d7
RMD160 (xf86-video-sis-0.10.7.tar.bz2) = d6be4d2f6ee8182e988ff52990cc680e9a2dd310
Size (xf86-video-sis-0.10.7.tar.bz2) = 699499 bytes
+SHA1 (patch-src_sis.h) = 14050b1e2e92df60ed1280cc9c41e10190e1695e
+SHA1 (patch-src_sis__driver.c) = d5216c4f7ada646f5c6fc5fab0edd1b10fc538eb
+SHA1 (patch-src_vstruct.h) = 09eecd05572cc8a904fe0535b751daa3b0b3d5d6
diff --git a/x11/xf86-video-sis/patches/patch-src_sis.h b/x11/xf86-video-sis/patches/patch-src_sis.h
new file mode 100644
index 00000000000..53430583599
--- /dev/null
+++ b/x11/xf86-video-sis/patches/patch-src_sis.h
@@ -0,0 +1,34 @@
+$NetBSD: patch-src_sis.h,v 1.1 2015/04/02 22:16:48 tnn Exp $
+
+From d0550de19cacab3e591641ba358a72fbc798b231 Mon Sep 17 00:00:00 2001
+From: Dave Airlie <airlied@redhat.com>
+Date: Mon, 22 Sep 2014 12:45:02 +1000
+Subject: sis: fix build against latest xserver
+
+From 7d4402786b758de3e6ce2641e15a39d612d5c518 Mon Sep 17 00:00:00 2001
+From: Adam Jackson <ajax@redhat.com>
+Date: Mon, 15 Oct 2012 19:11:30 -0400
+Subject: Stop including xf86Priv.h
+
+As the name might suggest, it's server-private.
+
+--- src/sis.h.orig 2015-04-02 19:58:00.000000000 +0000
++++ 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"
+@@ -1005,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/x11/xf86-video-sis/patches/patch-src_sis__driver.c b/x11/xf86-video-sis/patches/patch-src_sis__driver.c
new file mode 100644
index 00000000000..733b333eee1
--- /dev/null
+++ b/x11/xf86-video-sis/patches/patch-src_sis__driver.c
@@ -0,0 +1,246 @@
+$NetBSD: patch-src_sis__driver.c,v 1.1 2015/04/02 22:16:48 tnn Exp $
+
+From 0f50f8c3db2b9f1c9d4ecab8ad278e9db6418a92 Mon Sep 17 00:00:00 2001
+From: Dave Airlie <airlied@redhat.com>
+Date: Wed, 12 Nov 2014 09:27:33 +1000
+Subject: sis: force build, who uses this crazy code anyways
+
+From d2597696ba81862d80ec17b978d8370c58572e27 Mon Sep 17 00:00:00 2001
+From: Dave Airlie <airlied@redhat.com>
+Date: Wed, 12 Nov 2014 08:04:21 +1000
+Subject: sis: more build fixes against master X server.
+
+From 49796d6a3274adc0250ee07faa6bc63e41c98740 Mon Sep 17 00:00:00 2001
+From: Peter Hutterer <peter.hutterer@who-t.net>
+Date: Fri, 22 Nov 2013 08:21:18 +1000
+Subject: Fix format-security warnings
+
+From 0a4336efaafac4c34d4287b5df586bbb418f7f76 Mon Sep 17 00:00:00 2001
+From: Alan Coopersmith <alan.coopersmith@oracle.com>
+Date: Sat, 26 Oct 2013 14:27:17 -0700
+Subject: Fix HDisplay/VDisplay typos
+
+From 926d4f655c8491b68a338f50c810f6729686ec9f Mon Sep 17 00:00:00 2001
+From: Adam Jackson <ajax@redhat.com>
+Date: Tue, 25 Sep 2012 08:54:51 -0400
+Subject: Remove mibstore.h
+
+--- src/sis_driver.c.orig 2015-04-02 19:58:04.000000000 +0000
++++ 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
+@@ -94,6 +93,10 @@
+ #include "dri.h"
+ #endif
+
++#ifndef DEFAULT_DPI
++#define DEFAULT_DPI 96
++#endif
++
+ /*
+ * LookupWindow was removed with video abi 11.
+ */
+@@ -426,14 +429,14 @@ SISErrorLog(ScrnInfoPtr pScrn, const cha
+ 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
+@@ -1911,14 +1914,14 @@ SiSUpdateXineramaScreenInfo(ScrnInfoPtr
+ 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 */
+@@ -3276,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
+ /********************************************/
+@@ -3902,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;
+@@ -7131,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
+@@ -7141,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) {
+@@ -7344,7 +7355,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 +7370,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 +7385,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 +7399,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
+ }
+@@ -8859,7 +8894,6 @@ SISScreenInit(SCREEN_INIT_ARGS_DECL)
+ }
+ pSiS->SiSFastVidCopyDone = TRUE;
+
+- miInitializeBackingStore(pScreen);
+ xf86SetBackingStore(pScreen);
+ xf86SetSilkenMouse(pScreen);
+
+@@ -9351,6 +9385,7 @@ SISMergedPointerMoved(SCRN_ARG_TYPE arg,
+ }
+ }
+ if(doit) {
++#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) < 20 /* screw it */
+ sigstate = xf86BlockSIGIO();
+ #if GET_ABI_MAJOR(ABI_XINPUT_VERSION) >= 15
+ {
+@@ -9368,6 +9403,7 @@ SISMergedPointerMoved(SCRN_ARG_TYPE arg,
+ miPointerAbsoluteCursor(x, y, currentTime.milliseconds);
+ #endif
+ xf86UnblockSIGIO(sigstate);
++#endif
+ return;
+ }
+ }
+@@ -13725,12 +13761,12 @@ SiS_CheckModeCRT2(ScrnInfoPtr pScrn, Dis
+ 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,
+@@ -13991,6 +14027,7 @@ SiS_GetSetBIOSScratch(ScrnInfoPtr pScrn,
+ break;
+ }
+
++#ifndef XSERVER_LIBPCIACCESS
+ #ifdef SIS_USE_BIOS_SCRATCH
+ if(SISPTR(pScrn)->Primary) {
+ base = xf86MapVidMem(pScrn->scrnIndex, VIDMEM_MMIO, 0, 0x2000);
+@@ -14009,6 +14046,7 @@ SiS_GetSetBIOSScratch(ScrnInfoPtr pScrn,
+ xf86UnMapVidMem(pScrn->scrnIndex, base, 0x2000);
+ }
+ #endif
++#endif
+ return ret;
+ }
+
diff --git a/x11/xf86-video-sis/patches/patch-src_vstruct.h b/x11/xf86-video-sis/patches/patch-src_vstruct.h
new file mode 100644
index 00000000000..902387cf4d5
--- /dev/null
+++ b/x11/xf86-video-sis/patches/patch-src_vstruct.h
@@ -0,0 +1,20 @@
+$NetBSD: patch-src_vstruct.h,v 1.1 2015/04/02 22:16:48 tnn Exp $
+
+From d0550de19cacab3e591641ba358a72fbc798b231 Mon Sep 17 00:00:00 2001
+From: Dave Airlie <airlied@redhat.com>
+Date: Mon, 22 Sep 2014 12:45:02 +1000
+Subject: sis: fix build against latest xserver
+
+--- src/vstruct.h.orig 2012-06-06 08:47:03.000000000 +0000
++++ 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
diff --git a/x11/xf86-video-tga/distinfo b/x11/xf86-video-tga/distinfo
index 67542174cad..c39995d9f13 100644
--- a/x11/xf86-video-tga/distinfo
+++ b/x11/xf86-video-tga/distinfo
@@ -1,5 +1,7 @@
-$NetBSD: distinfo,v 1.4 2013/05/16 06:29:45 richard Exp $
+$NetBSD: distinfo,v 1.5 2015/04/02 22:16:48 tnn Exp $
SHA1 (xf86-video-tga-1.2.2.tar.bz2) = 0b96ebd6907b9efb278056ce701f330c22c550d8
RMD160 (xf86-video-tga-1.2.2.tar.bz2) = 1312240c77ddb3561a65b6c4c09962428fa15d02
Size (xf86-video-tga-1.2.2.tar.bz2) = 318943 bytes
+SHA1 (patch-src_tga__accel.c) = dbe0efa0bb8505b20c3a96d2ade6f712f2921b56
+SHA1 (patch-src_tga__driver.c) = 539cee2a20001f6b1002ab756e2e8f47cd6d82e3
diff --git a/x11/xf86-video-tga/patches/patch-src_tga__accel.c b/x11/xf86-video-tga/patches/patch-src_tga__accel.c
new file mode 100644
index 00000000000..2d4bc740c31
--- /dev/null
+++ b/x11/xf86-video-tga/patches/patch-src_tga__accel.c
@@ -0,0 +1,21 @@
+$NetBSD: patch-src_tga__accel.c,v 1.1 2015/04/02 22:16:48 tnn Exp $
+
+From b7022db0559cd1b6cd3eb6b5abf6896a607b478d Mon Sep 17 00:00:00 2001
+From: Adam Jackson <ajax@redhat.com>
+Date: Tue, 25 Sep 2012 08:55:00 -0400
+Subject: Remove mibstore.h
+
+Signed-off-by: Adam Jackson <ajax@redhat.com>
+
+diff --git a/src/tga_accel.c b/src/tga_accel.c
+index 35af1a4..b414df5 100644
+--- src/tga_accel.c
++++ src/tga_accel.c
+@@ -37,7 +37,6 @@
+ #include "xf86cmap.h"
+ #include "mipointer.h"
+
+-#include "mibstore.h"
+ #include "miline.h"
+
+ #include "tga_regs.h"
diff --git a/x11/xf86-video-tga/patches/patch-src_tga__driver.c b/x11/xf86-video-tga/patches/patch-src_tga__driver.c
new file mode 100644
index 00000000000..49160277aac
--- /dev/null
+++ b/x11/xf86-video-tga/patches/patch-src_tga__driver.c
@@ -0,0 +1,30 @@
+$NetBSD: patch-src_tga__driver.c,v 1.1 2015/04/02 22:16:48 tnn Exp $
+
+From b7022db0559cd1b6cd3eb6b5abf6896a607b478d Mon Sep 17 00:00:00 2001
+From: Adam Jackson <ajax@redhat.com>
+Date: Tue, 25 Sep 2012 08:55:00 -0400
+Subject: Remove mibstore.h
+
+Signed-off-by: Adam Jackson <ajax@redhat.com>
+
+diff --git a/src/tga_driver.c b/src/tga_driver.c
+index dd4f3e6..90d2660 100644
+--- src/tga_driver.c
++++ src/tga_driver.c
+@@ -46,8 +46,6 @@
+
+ /* software cursor */
+ #include "mipointer.h"
+-/* backing store */
+-#include "mibstore.h"
+
+ /* #include "mibank.h" */
+ /* colormap manipulation */
+@@ -1451,7 +1449,6 @@ TGAScreenInit(SCREEN_INIT_ARGS_DECL)
+
+ fbPictureInit (pScreen, 0, 0);
+
+- miInitializeBackingStore(pScreen);
+ xf86SetBackingStore(pScreen);
+ xf86SetSilkenMouse(pScreen);
+
diff --git a/x11/xf86-video-trident/Makefile b/x11/xf86-video-trident/Makefile
index 1dc3084cf0a..3db0e3b5dc4 100644
--- a/x11/xf86-video-trident/Makefile
+++ b/x11/xf86-video-trident/Makefile
@@ -1,8 +1,7 @@
-# $NetBSD: Makefile,v 1.14 2014/05/05 00:48:36 ryoon Exp $
+# $NetBSD: Makefile,v 1.15 2015/04/02 22:16:48 tnn Exp $
#
-DISTNAME= xf86-video-trident-1.3.6
-PKGREVISION= 1
+DISTNAME= xf86-video-trident-1.3.7
CATEGORIES= x11
MASTER_SITES= ${MASTER_SITE_XORG:=driver/}
EXTRACT_SUFX= .tar.bz2
diff --git a/x11/xf86-video-trident/distinfo b/x11/xf86-video-trident/distinfo
index 30bde7ddb1e..0dca919374c 100644
--- a/x11/xf86-video-trident/distinfo
+++ b/x11/xf86-video-trident/distinfo
@@ -1,5 +1,5 @@
-$NetBSD: distinfo,v 1.5 2013/05/16 06:30:28 richard Exp $
+$NetBSD: distinfo,v 1.6 2015/04/02 22:16:48 tnn Exp $
-SHA1 (xf86-video-trident-1.3.6.tar.bz2) = 9af5d275e6f4247cde19765178c3a797b4a7351d
-RMD160 (xf86-video-trident-1.3.6.tar.bz2) = 575aff2d952991d1ff4948e83335251affdd7525
-Size (xf86-video-trident-1.3.6.tar.bz2) = 356092 bytes
+SHA1 (xf86-video-trident-1.3.7.tar.bz2) = b8cce16caa30e6725bdea078e05ab74b4b8020e7
+RMD160 (xf86-video-trident-1.3.7.tar.bz2) = c9279cdd9708fcfd251e2928277dbe82612dafbe
+Size (xf86-video-trident-1.3.7.tar.bz2) = 376898 bytes
diff --git a/x11/xf86-video-tseng/distinfo b/x11/xf86-video-tseng/distinfo
index e97df6468e6..d4e2e1a36d5 100644
--- a/x11/xf86-video-tseng/distinfo
+++ b/x11/xf86-video-tseng/distinfo
@@ -1,5 +1,6 @@
-$NetBSD: distinfo,v 1.5 2013/05/16 06:31:08 richard Exp $
+$NetBSD: distinfo,v 1.6 2015/04/02 22:16:48 tnn Exp $
SHA1 (xf86-video-tseng-1.2.5.tar.bz2) = 95c35b28a19ab486f0bb7482df944d5b0076bdd5
RMD160 (xf86-video-tseng-1.2.5.tar.bz2) = cefe7f92087debc308ab1a2a9530de036aaae782
Size (xf86-video-tseng-1.2.5.tar.bz2) = 330575 bytes
+SHA1 (patch-src_tseng__driver.c) = b4f6eabf1413efc09ac3d48098680aa50e99fb71
diff --git a/x11/xf86-video-tseng/patches/patch-src_tseng__driver.c b/x11/xf86-video-tseng/patches/patch-src_tseng__driver.c
new file mode 100644
index 00000000000..5eb40a45182
--- /dev/null
+++ b/x11/xf86-video-tseng/patches/patch-src_tseng__driver.c
@@ -0,0 +1,31 @@
+$NetBSD: patch-src_tseng__driver.c,v 1.1 2015/04/02 22:16:48 tnn Exp $
+
+From d2d5c8437e401181f56804cc68594c4831a0983d Mon Sep 17 00:00:00 2001
+From: Adam Jackson <ajax@redhat.com>
+Date: Tue, 25 Sep 2012 08:55:02 -0400
+Subject: Remove mibstore.h
+
+Signed-off-by: Adam Jackson <ajax@redhat.com>
+
+diff --git a/src/tseng_driver.c b/src/tseng_driver.c
+index ffafb19..0db62e5 100644
+--- src/tseng_driver.c
++++ src/tseng_driver.c
+@@ -39,9 +39,6 @@
+ /* All drivers initialising the SW cursor need this */
+ #include "mipointer.h"
+
+-/* All drivers implementing backing store need this */
+-#include "mibstore.h"
+-
+ #include "fb.h"
+
+ #if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 6
+@@ -1453,7 +1450,6 @@ TsengScreenInit(SCREEN_INIT_ARGS_DECL)
+ }
+ }
+
+- miInitializeBackingStore(pScreen);
+ xf86SetSilkenMouse(pScreen);
+ /* Initialise cursor functions */
+ miDCInitialize(pScreen, xf86GetPointerScreenFuncs());
diff --git a/x11/xf86-video-wsfb/Makefile b/x11/xf86-video-wsfb/Makefile
index 1eddb4e4eb9..a717645b318 100644
--- a/x11/xf86-video-wsfb/Makefile
+++ b/x11/xf86-video-wsfb/Makefile
@@ -1,7 +1,7 @@
-# $NetBSD: Makefile,v 1.12 2014/05/05 00:48:36 ryoon Exp $
+# $NetBSD: Makefile,v 1.13 2015/04/02 22:16:49 tnn Exp $
DISTNAME= xf86-video-wsfb-0.4.0
-PKGREVISION= 2
+PKGREVISION= 3
CATEGORIES= x11
MASTER_SITES= ${MASTER_SITE_XORG:=driver/}
EXTRACT_SUFX= .tar.bz2
diff --git a/x11/xf86-video-wsfb/distinfo b/x11/xf86-video-wsfb/distinfo
index c05db7bbe04..cbc65241c48 100644
--- a/x11/xf86-video-wsfb/distinfo
+++ b/x11/xf86-video-wsfb/distinfo
@@ -1,6 +1,7 @@
-$NetBSD: distinfo,v 1.5 2014/01/20 21:25:00 is Exp $
+$NetBSD: distinfo,v 1.6 2015/04/02 22:16:49 tnn Exp $
SHA1 (xf86-video-wsfb-0.4.0.tar.bz2) = fc04a2127fc5de3f5d13c56c3be781df34c26a90
RMD160 (xf86-video-wsfb-0.4.0.tar.bz2) = d35555d20ed5ae303846a1e72fa5e55049428edd
Size (xf86-video-wsfb-0.4.0.tar.bz2) = 264372 bytes
-SHA1 (patch-src_wsfb__driver.c) = c7c9dec6e68188d2e55b24dadf1acef0389be862
+SHA1 (patch-src_compat-api.h) = 114cfc96361770c145f74c38abd9696943319253
+SHA1 (patch-src_wsfb__driver.c) = 1b846bfd8347c971412e8519afcb9a6a0e00c24d
diff --git a/x11/xf86-video-wsfb/patches/patch-src_compat-api.h b/x11/xf86-video-wsfb/patches/patch-src_compat-api.h
new file mode 100644
index 00000000000..faf55a207a7
--- /dev/null
+++ b/x11/xf86-video-wsfb/patches/patch-src_compat-api.h
@@ -0,0 +1,108 @@
+$NetBSD: patch-src_compat-api.h,v 1.1 2015/04/02 22:16:49 tnn Exp $
+
+From 586b722fb17b3eb0ab776c170ee21e6a66fc7f22 Mon Sep 17 00:00:00 2001
+From: Matthieu Herrb <matthieu.herrb@laas.fr>
+Date: Sun, 9 Sep 2012 11:41:58 +0200
+Subject: Add compat-api.h for compatibility with xserver 1.13
+
+--- src/compat-api.h.orig 2015-04-02 17:09:03.000000000 +0000
++++ src/compat-api.h
+@@ -0,0 +1,98 @@
++/*
++ * Copyright 2012 Red Hat, Inc.
++ *
++ * Permission is hereby granted, free of charge, to any person obtaining a
++ * copy of this software and associated documentation files (the "Software"),
++ * to deal in the Software without restriction, including without limitation
++ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
++ * and/or sell copies of the Software, and to permit persons to whom the
++ * Software is furnished to do so, subject to the following conditions:
++ *
++ * The above copyright notice and this permission notice (including the next
++ * paragraph) shall be included in all copies or substantial portions of the
++ * Software.
++ *
++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
++ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
++ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
++ * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
++ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
++ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
++ * DEALINGS IN THE SOFTWARE.
++ *
++ * Author: Dave Airlie <airlied@redhat.com>
++ */
++
++/* this file provides API compat between server post 1.13 and pre it,
++ it should be reused inside as many drivers as possible */
++#ifndef COMPAT_API_H
++#define COMPAT_API_H
++
++#ifndef GLYPH_HAS_GLYPH_PICTURE_ACCESSOR
++#define GetGlyphPicture(g, s) GlyphPicture((g))[(s)->myNum]
++#define SetGlyphPicture(g, s, p) GlyphPicture((g))[(s)->myNum] = p
++#endif
++
++#ifndef XF86_HAS_SCRN_CONV
++#define xf86ScreenToScrn(s) xf86Screens[(s)->myNum]
++#define xf86ScrnToScreen(s) screenInfo.screens[(s)->scrnIndex]
++#endif
++
++#ifndef XF86_SCRN_INTERFACE
++
++#define SCRN_ARG_TYPE int
++#define SCRN_INFO_PTR(arg1) ScrnInfoPtr pScrn = xf86Screens[(arg1)]
++
++#define SCREEN_ARG_TYPE int
++#define SCREEN_PTR(arg1) ScreenPtr pScreen = screenInfo.screens[(arg1)]
++
++#define SCREEN_INIT_ARGS_DECL int i, ScreenPtr pScreen, int argc, char **argv
++
++#define BLOCKHANDLER_ARGS_DECL int arg, pointer blockData, pointer pTimeout, pointer pReadmask
++#define BLOCKHANDLER_ARGS arg, blockData, pTimeout, pReadmask
++
++#define CLOSE_SCREEN_ARGS_DECL int scrnIndex, ScreenPtr pScreen
++#define CLOSE_SCREEN_ARGS scrnIndex, pScreen
++
++#define ADJUST_FRAME_ARGS_DECL int arg, int x, int y, int flags
++#define ADJUST_FRAME_ARGS(arg, x, y) (arg)->scrnIndex, x, y, 0
++
++#define SWITCH_MODE_ARGS_DECL int arg, DisplayModePtr mode, int flags
++#define SWITCH_MODE_ARGS(arg, m) (arg)->scrnIndex, m, 0
++
++#define FREE_SCREEN_ARGS_DECL int arg, int flags
++
++#define VT_FUNC_ARGS_DECL int arg, int flags
++#define VT_FUNC_ARGS pScrn->scrnIndex, 0
++
++#define SCRN_OR_INDEX_ARG(x) ((x)->scrnIndex)
++#else
++#define SCRN_ARG_TYPE ScrnInfoPtr
++#define SCRN_INFO_PTR(arg1) ScrnInfoPtr pScrn = (arg1)
++
++#define SCREEN_ARG_TYPE ScreenPtr
++#define SCREEN_PTR(arg1) ScreenPtr pScreen = (arg1)
++
++#define SCREEN_INIT_ARGS_DECL ScreenPtr pScreen, int argc, char **argv
++
++#define BLOCKHANDLER_ARGS_DECL ScreenPtr arg, pointer pTimeout, pointer pReadmask
++#define BLOCKHANDLER_ARGS arg, pTimeout, pReadmask
++
++#define CLOSE_SCREEN_ARGS_DECL ScreenPtr pScreen
++#define CLOSE_SCREEN_ARGS pScreen
++
++#define ADJUST_FRAME_ARGS_DECL ScrnInfoPtr arg, int x, int y
++#define ADJUST_FRAME_ARGS(arg, x, y) arg, x, y
++
++#define SWITCH_MODE_ARGS_DECL ScrnInfoPtr arg, DisplayModePtr mode
++#define SWITCH_MODE_ARGS(arg, m) arg, m
++#define FREE_SCREEN_ARGS_DECL ScrnInfoPtr arg
++
++#define VT_FUNC_ARGS_DECL ScrnInfoPtr arg
++#define VT_FUNC_ARGS pScrn
++
++#define SCRN_OR_INDEX_ARG(x) (x)
++
++#endif
++
++#endif
diff --git a/x11/xf86-video-wsfb/patches/patch-src_wsfb__driver.c b/x11/xf86-video-wsfb/patches/patch-src_wsfb__driver.c
index c0fb2949833..f0d55cd26d9 100644
--- a/x11/xf86-video-wsfb/patches/patch-src_wsfb__driver.c
+++ b/x11/xf86-video-wsfb/patches/patch-src_wsfb__driver.c
@@ -1,8 +1,57 @@
-$NetBSD: patch-src_wsfb__driver.c,v 1.1 2014/01/20 21:25:00 is Exp $
+$NetBSD: patch-src_wsfb__driver.c,v 1.2 2015/04/02 22:16:49 tnn Exp $
+
+Add revision 1.15 from xsrc version:
+date: 2013-01-31 12:18:01 +0100; author: macallan; state: Exp; lines: +145 -72;
+use WSDISPLAYIO_GET_FBINFO if available
+
+Merge upstream commits for server 1.17 compatibility:
+586b722fb17b3eb0ab776c170ee21e6a66fc7f22
+fa9aabe95a65c4dd12008e16ad66d5c773a7993a
+2993b33c466793c984b0c7cfeab06a3e333a29dd
--- src/wsfb_driver.c.orig 2012-01-01 15:25:08.000000000 +0000
+++ src/wsfb_driver.c
-@@ -231,7 +231,7 @@ WsfbSetup(pointer module, pointer opts,
+@@ -53,7 +53,6 @@
+ #include "xf86_OSproc.h"
+
+ #include "mipointer.h"
+-#include "mibstore.h"
+ #include "micmap.h"
+ #include "colormapst.h"
+ #include "xf86cmap.h"
+@@ -78,6 +77,8 @@
+ #include "xf86xv.h"
+ #endif
+
++#include "compat-api.h"
++
+ #ifdef X_PRIVSEP
+ extern int priv_open_device(const char *);
+ #else
+@@ -110,15 +111,15 @@ static const OptionInfoRec * WsfbAvailab
+ static void WsfbIdentify(int);
+ static Bool WsfbProbe(DriverPtr, int);
+ static Bool WsfbPreInit(ScrnInfoPtr, int);
+-static Bool WsfbScreenInit(int, ScreenPtr, int, char **);
+-static Bool WsfbCloseScreen(int, ScreenPtr);
++static Bool WsfbScreenInit(SCREEN_INIT_ARGS_DECL);
++static Bool WsfbCloseScreen(CLOSE_SCREEN_ARGS_DECL);
+ static void *WsfbWindowLinear(ScreenPtr, CARD32, CARD32, int, CARD32 *,
+ void *);
+-static void WsfbPointerMoved(int, int, int);
+-static Bool WsfbEnterVT(int, int);
+-static void WsfbLeaveVT(int, int);
+-static Bool WsfbSwitchMode(int, DisplayModePtr, int);
+-static int WsfbValidMode(int, DisplayModePtr, Bool, int);
++static void WsfbPointerMoved(SCRN_ARG_TYPE, int, int);
++static Bool WsfbEnterVT(VT_FUNC_ARGS_DECL);
++static void WsfbLeaveVT(VT_FUNC_ARGS_DECL);
++static Bool WsfbSwitchMode(SWITCH_MODE_ARGS_DECL);
++static int WsfbValidMode(SCRN_ARG_TYPE, DisplayModePtr, Bool, int);
+ static void WsfbLoadPalette(ScrnInfoPtr, int, int *, LOCO *, VisualPtr);
+ static Bool WsfbSaveScreen(ScreenPtr, int);
+ static void WsfbSave(ScrnInfoPtr);
+@@ -231,7 +232,7 @@ WsfbSetup(pointer module, pointer opts,
/* Private data */
typedef struct {
int fd; /* File descriptor of open device. */
@@ -11,7 +60,16 @@ $NetBSD: patch-src_wsfb__driver.c,v 1.1 2014/01/20 21:25:00 is Exp $
int linebytes; /* Number of bytes per row. */
unsigned char* fbstart;
unsigned char* fbmem;
-@@ -426,48 +426,96 @@ WsfbPreInit(ScrnInfoPtr pScrn, int flags
+@@ -241,7 +242,7 @@ typedef struct {
+ void * shadow;
+ CloseScreenProcPtr CloseScreen;
+ CreateScreenResourcesProcPtr CreateScreenResources;
+- void (*PointerMoved)(int, int, int);
++ void (*PointerMoved)(SCRN_ARG_TYPE, int, int);
+ EntityInfoPtr pEnt;
+ struct wsdisplay_cmap saved_cmap;
+
+@@ -426,48 +427,96 @@ WsfbPreInit(ScrnInfoPtr pScrn, int flags
return FALSE;
}
@@ -132,7 +190,7 @@ $NetBSD: patch-src_wsfb__driver.c,v 1.1 2014/01/20 21:25:00 is Exp $
free(fPtr->saved_cmap.red);
free(fPtr->saved_cmap.green);
return FALSE;
-@@ -475,18 +523,18 @@ WsfbPreInit(ScrnInfoPtr pScrn, int flags
+@@ -475,18 +524,18 @@ WsfbPreInit(ScrnInfoPtr pScrn, int flags
}
/* Handle depth */
@@ -156,7 +214,7 @@ $NetBSD: patch-src_wsfb__driver.c,v 1.1 2014/01/20 21:25:00 is Exp $
return FALSE;
}
xf86PrintDepthBpp(pScrn);
-@@ -496,17 +544,28 @@ WsfbPreInit(ScrnInfoPtr pScrn, int flags
+@@ -496,17 +545,28 @@ WsfbPreInit(ScrnInfoPtr pScrn, int flags
pix24bpp = xf86GetBppFromDepth(pScrn, 24);
/* Color weight */
@@ -194,7 +252,7 @@ $NetBSD: patch-src_wsfb__driver.c,v 1.1 2014/01/20 21:25:00 is Exp $
} else {
masks.red = 0;
masks.green = 0;
-@@ -535,7 +594,7 @@ WsfbPreInit(ScrnInfoPtr pScrn, int flags
+@@ -535,7 +595,7 @@ WsfbPreInit(ScrnInfoPtr pScrn, int flags
pScrn->progClock = TRUE;
pScrn->rgbBits = 8;
pScrn->chipset = "wsfb";
@@ -203,7 +261,7 @@ $NetBSD: patch-src_wsfb__driver.c,v 1.1 2014/01/20 21:25:00 is Exp $
xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Vidmem: %dk\n",
pScrn->videoRam/1024);
-@@ -550,10 +609,12 @@ WsfbPreInit(ScrnInfoPtr pScrn, int flags
+@@ -550,10 +610,12 @@ WsfbPreInit(ScrnInfoPtr pScrn, int flags
fPtr->Options);
/* Use shadow framebuffer by default, on depth >= 8 */
@@ -218,7 +276,7 @@ $NetBSD: patch-src_wsfb__driver.c,v 1.1 2014/01/20 21:25:00 is Exp $
if (xf86ReturnOptValBool(fPtr->Options,
OPTION_SHADOW_FB, FALSE)) {
xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
-@@ -601,12 +662,12 @@ WsfbPreInit(ScrnInfoPtr pScrn, int flags
+@@ -601,12 +663,12 @@ WsfbPreInit(ScrnInfoPtr pScrn, int flags
mode->status = MODE_OK;
mode->type = M_T_BUILTIN;
mode->Clock = 0;
@@ -233,7 +291,7 @@ $NetBSD: patch-src_wsfb__driver.c,v 1.1 2014/01/20 21:25:00 is Exp $
mode->VSyncStart = 0;
mode->VSyncEnd = 0;
mode->VTotal = 0;
-@@ -617,8 +678,8 @@ WsfbPreInit(ScrnInfoPtr pScrn, int flags
+@@ -617,8 +679,8 @@ WsfbPreInit(ScrnInfoPtr pScrn, int flags
"Ignoring mode specification from screen section\n");
}
pScrn->currentMode = pScrn->modes = mode;
@@ -244,7 +302,49 @@ $NetBSD: patch-src_wsfb__driver.c,v 1.1 2014/01/20 21:25:00 is Exp $
pScrn->displayWidth = pScrn->virtualX;
/* Set the display resolution. */
-@@ -721,36 +782,39 @@ WsfbScreenInit(int scrnIndex, ScreenPtr
+@@ -661,10 +723,22 @@ WsfbPreInit(ScrnInfoPtr pScrn, int flags
+ return TRUE;
+ }
+
++static void
++wsfbUpdateRotatePacked(ScreenPtr pScreen, shadowBufPtr pBuf)
++{
++ shadowUpdateRotatePacked(pScreen, pBuf);
++}
++
++static void
++wsfbUpdatePacked(ScreenPtr pScreen, shadowBufPtr pBuf)
++{
++ shadowUpdatePacked(pScreen, pBuf);
++}
++
+ static Bool
+ WsfbCreateScreenResources(ScreenPtr pScreen)
+ {
+- ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
++ ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
+ WsfbPtr fPtr = WSFBPTR(pScrn);
+ PixmapPtr pPixmap;
+ Bool ret;
+@@ -679,7 +753,7 @@ WsfbCreateScreenResources(ScreenPtr pScr
+ pPixmap = pScreen->GetScreenPixmap(pScreen);
+
+ if (!shadowAdd(pScreen, pPixmap, fPtr->rotate ?
+- shadowUpdateRotatePackedWeak() : shadowUpdatePackedWeak(),
++ wsfbUpdateRotatePacked : wsfbUpdatePacked,
+ WsfbWindowLinear, fPtr->rotate, NULL)) {
+ return FALSE;
+ }
+@@ -702,7 +776,7 @@ WsfbShadowInit(ScreenPtr pScreen)
+ }
+
+ static Bool
+-WsfbScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
++WsfbScreenInit(SCREEN_INIT_ARGS_DECL)
+ {
+ ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
+ WsfbPtr fPtr = WSFBPTR(pScrn);
+@@ -721,36 +795,39 @@ WsfbScreenInit(int scrnIndex, ScreenPtr
pScrn->mask.red,pScrn->mask.green,pScrn->mask.blue,
pScrn->offset.red,pScrn->offset.green,pScrn->offset.blue);
#endif
@@ -296,7 +396,40 @@ $NetBSD: patch-src_wsfb__driver.c,v 1.1 2014/01/20 21:25:00 is Exp $
return FALSE;
}
/* Switch to graphics mode - required before mmap. */
-@@ -907,10 +971,16 @@ WsfbScreenInit(int scrnIndex, ScreenPtr
+@@ -868,7 +945,7 @@ WsfbScreenInit(int scrnIndex, ScreenPtr
+ "RENDER extension initialisation failed.");
+ }
+ if (fPtr->shadowFB && !WsfbShadowInit(pScreen)) {
+- xf86DrvMsg(scrnIndex, X_ERROR,
++ xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
+ "shadow framebuffer initialization failed\n");
+ return FALSE;
+ }
+@@ -877,20 +954,19 @@ WsfbScreenInit(int scrnIndex, ScreenPtr
+ if (!fPtr->rotate)
+ WsfbDGAInit(pScrn, pScreen);
+ else
+- xf86DrvMsg(scrnIndex, X_INFO, "Rotated display, "
++ xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Rotated display, "
+ "disabling DGA\n");
+ #endif
+ if (fPtr->rotate) {
+- xf86DrvMsg(scrnIndex, X_INFO, "Enabling Driver Rotation, "
++ xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Enabling Driver Rotation, "
+ "disabling RandR\n");
+ xf86DisableRandR();
+ if (pScrn->bitsPerPixel == 24)
+- xf86DrvMsg(scrnIndex, X_WARNING,
++ xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
+ "Rotation might be broken in 24 bpp\n");
+ }
+
+ xf86SetBlackWhitePixels(pScreen);
+- miInitializeBackingStore(pScreen);
+ xf86SetBackingStore(pScreen);
+
+ /* Software cursor. */
+@@ -907,10 +983,16 @@ WsfbScreenInit(int scrnIndex, ScreenPtr
if (!miCreateDefColormap(pScreen))
return FALSE;
flags = CMAP_RELOAD_ON_MODE_SWITCH;
@@ -314,8 +447,32 @@ $NetBSD: patch-src_wsfb__driver.c,v 1.1 2014/01/20 21:25:00 is Exp $
if(!xf86HandleColormaps(pScreen, ncolors, 8, WsfbLoadPalette,
NULL, flags))
return FALSE;
-@@ -981,14 +1051,18 @@ WsfbWindowLinear(ScreenPtr pScreen, CARD
- ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
+@@ -937,9 +1019,9 @@ WsfbScreenInit(int scrnIndex, ScreenPtr
+ }
+
+ static Bool
+-WsfbCloseScreen(int scrnIndex, ScreenPtr pScreen)
++WsfbCloseScreen(CLOSE_SCREEN_ARGS_DECL)
+ {
+- ScrnInfoPtr pScrn = xf86Screens[scrnIndex];
++ ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
+ PixmapPtr pPixmap;
+ WsfbPtr fPtr = WSFBPTR(pScrn);
+
+@@ -971,30 +1053,34 @@ WsfbCloseScreen(int scrnIndex, ScreenPtr
+ /* Unwrap CloseScreen. */
+ pScreen->CloseScreen = fPtr->CloseScreen;
+ TRACE_EXIT("WsfbCloseScreen");
+- return (*pScreen->CloseScreen)(scrnIndex, pScreen);
++ return (*pScreen->CloseScreen)(CLOSE_SCREEN_ARGS);
+ }
+
+ static void *
+ WsfbWindowLinear(ScreenPtr pScreen, CARD32 row, CARD32 offset, int mode,
+ CARD32 *size, void *closure)
+ {
+- ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
++ ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
WsfbPtr fPtr = WSFBPTR(pScrn);
- if (fPtr->linebytes)
@@ -337,7 +494,79 @@ $NetBSD: patch-src_wsfb__driver.c,v 1.1 2014/01/20 21:25:00 is Exp $
}
static void
-@@ -1159,11 +1233,12 @@ WsfbSave(ScrnInfoPtr pScrn)
+-WsfbPointerMoved(int index, int x, int y)
++WsfbPointerMoved(SCRN_ARG_TYPE arg, int x, int y)
+ {
+- ScrnInfoPtr pScrn = xf86Screens[index];
++ SCRN_INFO_PTR(arg);
+ WsfbPtr fPtr = WSFBPTR(pScrn);
+ int newX, newY;
+
+@@ -1026,13 +1112,13 @@ WsfbPointerMoved(int index, int x, int y
+ }
+
+ /* Pass adjusted pointer coordinates to wrapped PointerMoved function. */
+- (*fPtr->PointerMoved)(index, newX, newY);
++ (*fPtr->PointerMoved)(arg, newX, newY);
+ }
+
+ static Bool
+-WsfbEnterVT(int scrnIndex, int flags)
++WsfbEnterVT(VT_FUNC_ARGS_DECL)
+ {
+- ScrnInfoPtr pScrn = xf86Screens[scrnIndex];
++ SCRN_INFO_PTR(arg);
+
+ TRACE_ENTER("EnterVT");
+ pScrn->vtSema = TRUE;
+@@ -1041,20 +1127,20 @@ WsfbEnterVT(int scrnIndex, int flags)
+ }
+
+ static void
+-WsfbLeaveVT(int scrnIndex, int flags)
++WsfbLeaveVT(VT_FUNC_ARGS_DECL)
+ {
+ #if DEBUG
+- ScrnInfoPtr pScrn = xf86Screens[scrnIndex];
++ SCRN_INFO_PTR(arg);
+ #endif
+
+ TRACE_ENTER("LeaveVT");
+ }
+
+ static Bool
+-WsfbSwitchMode(int scrnIndex, DisplayModePtr mode, int flags)
++WsfbSwitchMode(SWITCH_MODE_ARGS_DECL)
+ {
+ #if DEBUG
+- ScrnInfoPtr pScrn = xf86Screens[scrnIndex];
++ SCRN_INFO_PTR(arg);
+ #endif
+
+ TRACE_ENTER("SwitchMode");
+@@ -1063,10 +1149,10 @@ WsfbSwitchMode(int scrnIndex, DisplayMod
+ }
+
+ static int
+-WsfbValidMode(int scrnIndex, DisplayModePtr mode, Bool verbose, int flags)
++WsfbValidMode(SCRN_ARG_TYPE arg, DisplayModePtr mode, Bool verbose, int flags)
+ {
+ #if DEBUG
+- ScrnInfoPtr pScrn = xf86Screens[scrnIndex];
++ SCRN_INFO_PTR(arg);
+ #endif
+
+ TRACE_ENTER("ValidMode");
+@@ -1132,7 +1218,7 @@ WsfbLoadPalette(ScrnInfoPtr pScrn, int n
+ static Bool
+ WsfbSaveScreen(ScreenPtr pScreen, int mode)
+ {
+- ScrnInfoPtr pScrn = xf86Screens[pScreen->myNum];
++ ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
+ WsfbPtr fPtr = WSFBPTR(pScrn);
+ int state;
+
+@@ -1159,11 +1245,12 @@ WsfbSave(ScrnInfoPtr pScrn)
TRACE_ENTER("WsfbSave");
@@ -352,7 +581,7 @@ $NetBSD: patch-src_wsfb__driver.c,v 1.1 2014/01/20 21:25:00 is Exp $
if (ioctl(fPtr->fd, WSDISPLAYIO_GETCMAP,
&(fPtr->saved_cmap)) == -1) {
xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
-@@ -1181,7 +1256,7 @@ WsfbRestore(ScrnInfoPtr pScrn)
+@@ -1181,7 +1268,7 @@ WsfbRestore(ScrnInfoPtr pScrn)
TRACE_ENTER("WsfbRestore");
@@ -361,7 +590,28 @@ $NetBSD: patch-src_wsfb__driver.c,v 1.1 2014/01/20 21:25:00 is Exp $
/* reset colormap for text mode */
if (ioctl(fPtr->fd, WSDISPLAYIO_PUTCMAP,
&(fPtr->saved_cmap)) == -1) {
-@@ -1305,12 +1380,12 @@ WsfbDGAAddModes(ScrnInfoPtr pScrn)
+@@ -1240,9 +1327,9 @@ WsfbDGASetMode(ScrnInfoPtr pScrn, DGAMod
+ frameY0 = pScrn->frameY0;
+ }
+
+- if (!(*pScrn->SwitchMode)(scrnIdx, pMode, 0))
++ if (!(*pScrn->SwitchMode)(SWITCH_MODE_ARGS(pScrn, pMode)))
+ return FALSE;
+- (*pScrn->AdjustFrame)(scrnIdx, frameX0, frameY0, 0);
++ (*pScrn->AdjustFrame)(ADJUST_FRAME_ARGS(pScrn, frameX0, frameY0));
+
+ return TRUE;
+ }
+@@ -1250,7 +1337,7 @@ WsfbDGASetMode(ScrnInfoPtr pScrn, DGAMod
+ static void
+ WsfbDGASetViewport(ScrnInfoPtr pScrn, int x, int y, int flags)
+ {
+- (*pScrn->AdjustFrame)(pScrn->pScreen->myNum, x, y, flags);
++ (*pScrn->AdjustFrame)(ADJUST_FRAME_ARGS(pScrn, x, y));
+ }
+
+ static int
+@@ -1305,12 +1392,12 @@ WsfbDGAAddModes(ScrnInfoPtr pScrn)
pDGAMode->viewportWidth = pMode->HDisplay;
pDGAMode->viewportHeight = pMode->VDisplay;