xserver: Branch 'master' - 22 commits

Keith Packard keithp at kemper.freedesktop.org
Tue Jul 29 11:14:10 PDT 2014


 Xext/saver.c                          |   16 -
 dix/dispatch.c                        |    4 
 doc/Xserver-spec.xml                  |    6 
 hw/kdrive/Xkdrive.man                 |    7 
 hw/xfree86/common/xf86.h              |    8 
 hw/xfree86/common/xf86Cursor.c        |   17 --
 hw/xfree86/common/xf86RandR.c         |   32 ---
 hw/xfree86/common/xf86pciBus.c        |   39 ----
 hw/xfree86/doc/ddxDesign.xml          |    3 
 hw/xfree86/dri/dri.c                  |   73 ---------
 hw/xfree86/dri/dri.h                  |    8 
 hw/xfree86/modes/xf86Rotate.c         |    1 
 hw/xfree86/os-support/bsd/arm_video.c |  139 -----------------
 hw/xfree86/os-support/bus/xf86Pci.h   |   21 --
 hw/xfree86/os-support/xf86OSpriv.h    |    2 
 hw/xfree86/vgahw/Makefile.am          |    2 
 hw/xfree86/vgahw/vgaCmap.c            |  275 ----------------------------------
 hw/xquartz/xpr/dri.c                  |   51 ------
 hw/xquartz/xpr/dri.h                  |    8 
 include/os.h                          |   40 ----
 mi/mi.h                               |    3 
 mi/miwindow.c                         |   14 -
 miext/shadow/shadow.c                 |   54 ------
 miext/shadow/shadow.h                 |    6 
 os/access.c                           |   27 ---
 os/utils.c                            |   48 -----
 render/picture.c                      |   81 ----------
 render/picturestr.h                   |    3 
 xkb/xkbEvents.c                       |    9 -
 29 files changed, 7 insertions(+), 990 deletions(-)

New commits:
commit a08e7a098aa37351294a25fe62b7ff6e95622e64
Author: Adam Jackson <ajax at redhat.com>
Date:   Tue Jun 24 14:21:57 2014 -0400

    dri1: Remove unused DRI{,Post}ValidateTree
    
    i810, mga, savage, and tdfx do reference these slots, but only to set
    them to NULL, so while this does have API impact it's not actually used.
    
    Reviewed-by: Keith Packard <keithp at keithp.com>
    Signed-off-by: Adam Jackson <ajax at redhat.com>

diff --git a/hw/xfree86/dri/dri.c b/hw/xfree86/dri/dri.c
index 95828bb..3f2f6a9 100644
--- a/hw/xfree86/dri/dri.c
+++ b/hw/xfree86/dri/dri.c
@@ -595,14 +595,6 @@ DRIFinishScreenInit(ScreenPtr pScreen)
     DRIInfoPtr pDRIInfo = pDRIPriv->pDriverInfo;
 
     /* Wrap DRI support */
-    if (pDRIInfo->wrap.ValidateTree) {
-        pDRIPriv->wrap.ValidateTree = pScreen->ValidateTree;
-        pScreen->ValidateTree = pDRIInfo->wrap.ValidateTree;
-    }
-    if (pDRIInfo->wrap.PostValidateTree) {
-        pDRIPriv->wrap.PostValidateTree = pScreen->PostValidateTree;
-        pScreen->PostValidateTree = pDRIInfo->wrap.PostValidateTree;
-    }
     if (pDRIInfo->wrap.WindowExposures) {
         pDRIPriv->wrap.WindowExposures = pScreen->WindowExposures;
         pScreen->WindowExposures = pDRIInfo->wrap.WindowExposures;
@@ -652,14 +644,6 @@ DRICloseScreen(ScreenPtr pScreen)
 
         if (pDRIPriv->wrapped) {
             /* Unwrap DRI Functions */
-            if (pDRIInfo->wrap.ValidateTree) {
-                pScreen->ValidateTree = pDRIPriv->wrap.ValidateTree;
-                pDRIPriv->wrap.ValidateTree = NULL;
-            }
-            if (pDRIInfo->wrap.PostValidateTree) {
-                pScreen->PostValidateTree = pDRIPriv->wrap.PostValidateTree;
-                pDRIPriv->wrap.PostValidateTree = NULL;
-            }
             if (pDRIInfo->wrap.WindowExposures) {
                 pScreen->WindowExposures = pDRIPriv->wrap.WindowExposures;
                 pDRIPriv->wrap.WindowExposures = NULL;
@@ -1601,8 +1585,6 @@ DRICreateInfoRec(void)
     inforec->wrap.BlockHandler = DRIDoBlockHandler;
     inforec->wrap.WindowExposures = DRIWindowExposures;
     inforec->wrap.CopyWindow = DRICopyWindow;
-    inforec->wrap.ValidateTree = DRIValidateTree;
-    inforec->wrap.PostValidateTree = DRIPostValidateTree;
     inforec->wrap.ClipNotify = DRIClipNotify;
     inforec->wrap.AdjustFrame = DRIAdjustFrame;
 
@@ -2064,61 +2046,6 @@ DRILockTree(ScreenPtr pScreen)
     }
 }
 
-int
-DRIValidateTree(WindowPtr pParent, WindowPtr pChild, VTKind kind)
-{
-    ScreenPtr pScreen = pParent->drawable.pScreen;
-    DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen);
-
-    int returnValue = 1;        /* always return 1, not checked by dix/window.c */
-
-    if (!pDRIPriv)
-        return returnValue;
-
-    /* call lower wrapped functions */
-    if (pDRIPriv->wrap.ValidateTree) {
-        /* unwrap */
-        pScreen->ValidateTree = pDRIPriv->wrap.ValidateTree;
-
-        /* call lower layers */
-        returnValue = (*pScreen->ValidateTree) (pParent, pChild, kind);
-
-        /* rewrap */
-        pDRIPriv->wrap.ValidateTree = pScreen->ValidateTree;
-        pScreen->ValidateTree = DRIValidateTree;
-    }
-
-    return returnValue;
-}
-
-void
-DRIPostValidateTree(WindowPtr pParent, WindowPtr pChild, VTKind kind)
-{
-    ScreenPtr pScreen;
-    DRIScreenPrivPtr pDRIPriv;
-
-    if (pParent) {
-        pScreen = pParent->drawable.pScreen;
-    }
-    else {
-        pScreen = pChild->drawable.pScreen;
-    }
-    if (!(pDRIPriv = DRI_SCREEN_PRIV(pScreen)))
-        return;
-
-    if (pDRIPriv->wrap.PostValidateTree) {
-        /* unwrap */
-        pScreen->PostValidateTree = pDRIPriv->wrap.PostValidateTree;
-
-        /* call lower layers */
-        (*pScreen->PostValidateTree) (pParent, pChild, kind);
-
-        /* rewrap */
-        pDRIPriv->wrap.PostValidateTree = pScreen->PostValidateTree;
-        pScreen->PostValidateTree = DRIPostValidateTree;
-    }
-}
-
 void
 DRIClipNotify(WindowPtr pWin, int dx, int dy)
 {
diff --git a/hw/xfree86/dri/dri.h b/hw/xfree86/dri/dri.h
index 64cd7c9..dec6885 100644
--- a/hw/xfree86/dri/dri.h
+++ b/hw/xfree86/dri/dri.h
@@ -85,8 +85,6 @@ typedef struct {
     ScreenBlockHandlerProcPtr BlockHandler;
     WindowExposuresProcPtr WindowExposures;
     CopyWindowProcPtr CopyWindow;
-    ValidateTreeProcPtr ValidateTree;
-    PostValidateTreeProcPtr PostValidateTree;
     ClipNotifyProcPtr ClipNotify;
     AdjustFramePtr AdjustFrame;
 } DRIWrappedFuncsRec, *DRIWrappedFuncsPtr;
@@ -290,12 +288,6 @@ extern _X_EXPORT Bool DRIDestroyWindow(WindowPtr pWin);
 extern _X_EXPORT void DRICopyWindow(WindowPtr pWin,
                                     DDXPointRec ptOldOrg, RegionPtr prgnSrc);
 
-extern _X_EXPORT int DRIValidateTree(WindowPtr pParent,
-                                     WindowPtr pChild, VTKind kind);
-
-extern _X_EXPORT void DRIPostValidateTree(WindowPtr pParent,
-                                          WindowPtr pChild, VTKind kind);
-
 extern _X_EXPORT void DRIClipNotify(WindowPtr pWin, int dx, int dy);
 
 extern _X_EXPORT CARD32 DRIGetDrawableIndex(WindowPtr pWin);
commit 5486c834fa3eebd79a4811143e513d6a92b7e504
Author: Adam Jackson <ajax at redhat.com>
Date:   Tue Jun 24 14:16:55 2014 -0400

    xquartz: Remove unused DRI{,Post}ValidateTree
    
    Cargo-culted from DRI1, not actually used for anything.
    
    Reviewed-by: Jeremy Huddleston Sequoia <jeremyhu at apple.com>
    Reviewed-by: Keith Packard <keithp at keithp.com>
    Signed-off-by: Adam Jackson <ajax at redhat.com>

diff --git a/hw/xquartz/xpr/dri.c b/hw/xquartz/xpr/dri.c
index 014709b..0f19047 100644
--- a/hw/xquartz/xpr/dri.c
+++ b/hw/xquartz/xpr/dri.c
@@ -138,12 +138,6 @@ DRIFinishScreenInit(ScreenPtr pScreen)
     DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen);
 
     /* Wrap DRI support */
-    pDRIPriv->wrap.ValidateTree = pScreen->ValidateTree;
-    pScreen->ValidateTree = DRIValidateTree;
-
-    pDRIPriv->wrap.PostValidateTree = pScreen->PostValidateTree;
-    pScreen->PostValidateTree = DRIPostValidateTree;
-
     pDRIPriv->wrap.WindowExposures = pScreen->WindowExposures;
     pScreen->WindowExposures = DRIWindowExposures;
 
@@ -624,51 +618,6 @@ DRICopyWindow(WindowPtr pWin, DDXPointRec ptOldOrg, RegionPtr prgnSrc)
     pScreen->CopyWindow = DRICopyWindow;
 }
 
-int
-DRIValidateTree(WindowPtr pParent, WindowPtr pChild, VTKind kind)
-{
-    ScreenPtr pScreen = pParent->drawable.pScreen;
-    DRIScreenPrivPtr pDRIPriv = DRI_SCREEN_PRIV(pScreen);
-    int returnValue;
-
-    /* unwrap */
-    pScreen->ValidateTree = pDRIPriv->wrap.ValidateTree;
-
-    /* call lower layers */
-    returnValue = (*pScreen->ValidateTree)(pParent, pChild, kind);
-
-    /* rewrap */
-    pScreen->ValidateTree = DRIValidateTree;
-
-    return returnValue;
-}
-
-void
-DRIPostValidateTree(WindowPtr pParent, WindowPtr pChild, VTKind kind)
-{
-    ScreenPtr pScreen;
-    DRIScreenPrivPtr pDRIPriv;
-
-    if (pParent) {
-        pScreen = pParent->drawable.pScreen;
-    }
-    else {
-        pScreen = pChild->drawable.pScreen;
-    }
-    pDRIPriv = DRI_SCREEN_PRIV(pScreen);
-
-    if (pDRIPriv->wrap.PostValidateTree) {
-        /* unwrap */
-        pScreen->PostValidateTree = pDRIPriv->wrap.PostValidateTree;
-
-        /* call lower layers */
-        (*pScreen->PostValidateTree)(pParent, pChild, kind);
-
-        /* rewrap */
-        pScreen->PostValidateTree = DRIPostValidateTree;
-    }
-}
-
 void
 DRIClipNotify(WindowPtr pWin, int dx, int dy)
 {
diff --git a/hw/xquartz/xpr/dri.h b/hw/xquartz/xpr/dri.h
index 70cb8b6..4476b06 100644
--- a/hw/xquartz/xpr/dri.h
+++ b/hw/xquartz/xpr/dri.h
@@ -53,8 +53,6 @@ typedef void (*ClipNotifyPtr)(WindowPtr, int, int);
 typedef struct {
     WindowExposuresProcPtr WindowExposures;
     CopyWindowProcPtr CopyWindow;
-    ValidateTreeProcPtr ValidateTree;
-    PostValidateTreeProcPtr PostValidateTree;
     ClipNotifyProcPtr ClipNotify;
 } DRIWrappedFuncsRec, *DRIWrappedFuncsPtr;
 
@@ -107,12 +105,6 @@ DRIGetWrappedFuncs(ScreenPtr pScreen);
 extern void
 DRICopyWindow(WindowPtr pWin, DDXPointRec ptOldOrg, RegionPtr prgnSrc);
 
-extern int
-DRIValidateTree(WindowPtr pParent, WindowPtr pChild, VTKind kind);
-
-extern void
-DRIPostValidateTree(WindowPtr pParent, WindowPtr pChild, VTKind kind);
-
 extern void
 DRIClipNotify(WindowPtr pWin, int dx, int dy);
 
commit a5e7701058c676231d2bc3f9a0c7c0fa9da7ad45
Author: Adam Jackson <ajax at redhat.com>
Date:   Wed May 28 14:48:14 2014 -0400

    xkb: Remove some fascinating paranoia from event emission
    
    XkbInterestPtrs are created by clients that already exist, meaning,
    clients that have already had ProcVector installed as something other
    than InitialProcVector.
    
    Reviewed-by: Daniel Stone <daniel at fooishbar.org>
    Signed-off-by: Adam Jackson <ajax at redhat.com>

diff --git a/xkb/xkbEvents.c b/xkb/xkbEvents.c
index 210d8eb..cc9a535 100644
--- a/xkb/xkbEvents.c
+++ b/xkb/xkbEvents.c
@@ -237,7 +237,6 @@ XkbSendStateNotify(DeviceIntPtr kbd, xkbStateNotify * pSN)
 
     while (interest) {
         if ((!interest->client->clientGone) &&
-            (interest->client->requestVector != InitialVector) &&
             (interest->client->xkbClientFlags & _XkbClientInitialized) &&
             (interest->stateNotifyMask & changed)) {
             pSN->sequenceNumber = interest->client->sequence;
@@ -400,7 +399,6 @@ XkbSendControlsNotify(DeviceIntPtr kbd, xkbControlsNotify * pCN)
     pCN->numGroups = xkbi->desc->ctrls->num_groups;
     while (interest) {
         if ((!interest->client->clientGone) &&
-            (interest->client->requestVector != InitialVector) &&
             (interest->client->xkbClientFlags & _XkbClientInitialized) &&
             (interest->ctrlsNotifyMask & changedControls)) {
             if (!initialized) {
@@ -447,7 +445,6 @@ XkbSendIndicatorNotify(DeviceIntPtr kbd, int xkbType, xkbIndicatorNotify * pEv)
     changed = pEv->changed;
     while (interest) {
         if ((!interest->client->clientGone) &&
-            (interest->client->requestVector != InitialVector) &&
             (interest->client->xkbClientFlags & _XkbClientInitialized) &&
             (((xkbType == XkbIndicatorStateNotify) &&
               (interest->iStateNotifyMask & changed)) ||
@@ -528,7 +525,6 @@ XkbHandleBell(BOOL force,
     initialized = 0;
     while (interest) {
         if ((!interest->client->clientGone) &&
-            (interest->client->requestVector != InitialVector) &&
             (interest->client->xkbClientFlags & _XkbClientInitialized) &&
             (interest->bellNotifyMask)) {
             if (!initialized) {
@@ -581,7 +577,6 @@ XkbSendAccessXNotify(DeviceIntPtr kbd, xkbAccessXNotify * pEv)
     db_delay = pEv->debounceDelay;
     while (interest) {
         if ((!interest->client->clientGone) &&
-            (interest->client->requestVector != InitialVector) &&
             (interest->client->xkbClientFlags & _XkbClientInitialized) &&
             (interest->accessXNotifyMask & (1 << pEv->detail))) {
             if (!initialized) {
@@ -627,7 +622,6 @@ XkbSendNamesNotify(DeviceIntPtr kbd, xkbNamesNotify * pEv)
     changedVirtualMods = pEv->changedVirtualMods;
     while (interest) {
         if ((!interest->client->clientGone) &&
-            (interest->client->requestVector != InitialVector) &&
             (interest->client->xkbClientFlags & _XkbClientInitialized) &&
             (interest->namesNotifyMask & pEv->changed)) {
             if (!initialized) {
@@ -671,7 +665,6 @@ XkbSendCompatMapNotify(DeviceIntPtr kbd, xkbCompatMapNotify * pEv)
     initialized = 0;
     while (interest) {
         if ((!interest->client->clientGone) &&
-            (interest->client->requestVector != InitialVector) &&
             (interest->client->xkbClientFlags & _XkbClientInitialized) &&
             (interest->compatNotifyMask)) {
             if (!initialized) {
@@ -722,7 +715,6 @@ XkbSendActionMessage(DeviceIntPtr kbd, xkbActionMessage * pEv)
     pEv->group = xkbi->state.group;
     while (interest) {
         if ((!interest->client->clientGone) &&
-            (interest->client->requestVector != InitialVector) &&
             (interest->client->xkbClientFlags & _XkbClientInitialized) &&
             (interest->actionMessageMask)) {
             if (!initialized) {
@@ -766,7 +758,6 @@ XkbSendExtensionDeviceNotify(DeviceIntPtr dev,
     state = pEv->ledState;
     while (interest) {
         if ((!interest->client->clientGone) &&
-            (interest->client->requestVector != InitialVector) &&
             (interest->client->xkbClientFlags & _XkbClientInitialized) &&
             (interest->extDevNotifyMask & reason)) {
             if (!initialized) {
commit ac3af4bd21394291ef6dd9cfcdd8ce6fceefec40
Author: Adam Jackson <ajax at redhat.com>
Date:   Tue Jun 17 12:58:41 2014 -0400

    xfree86: Remove unused HardEdges
    
    Reviewed-by: Alex Deucher <alexander.deucher at amd.com>
    Signed-off-by: Adam Jackson <ajax at redhat.com>

diff --git a/hw/xfree86/common/xf86Cursor.c b/hw/xfree86/common/xf86Cursor.c
index c6abf12..92c08af 100644
--- a/hw/xfree86/common/xf86Cursor.c
+++ b/hw/xfree86/common/xf86Cursor.c
@@ -74,8 +74,6 @@ static miPointerScreenFuncRec xf86PointerScreenFuncs = {
 
 static xf86ScreenLayoutRec xf86ScreenLayout[MAXSCREENS];
 
-static Bool HardEdges;
-
 /*
  * xf86InitViewport --
  *      Initialize paning & zooming parameters, so that a driver must only
@@ -429,16 +427,6 @@ xf86CursorOffScreen(ScreenPtr *pScreen, int *x, int *y)
         }
     }
 
-#if 0
-    /* This presents problems for overlapping screens when
-       HardEdges is used.  Have to think about the logic more */
-    if ((*x < 0) || (*x >= (*pScreen)->width) ||
-        (*y < 0) || (*y >= (*pScreen)->height)) {
-        /* We may have crossed more than one screen */
-        xf86CursorOffScreen(pScreen, x, y);
-    }
-#endif
-
     return TRUE;
 }
 
@@ -582,9 +570,6 @@ xf86InitOrigins(void)
     xf86ScreenLayoutPtr pLayout;
     Bool OldStyleConfig = FALSE;
 
-    /* need to have this set up with a config file option */
-    HardEdges = FALSE;
-
     memset(xf86ScreenLayout, 0, MAXSCREENS * sizeof(xf86ScreenLayoutRec));
 
     screensLeft = prevScreensLeft = (1 << xf86NumScreens) - 1;
@@ -836,7 +821,7 @@ xf86InitOrigins(void)
         }
     }
 
-    if (!HardEdges && !OldStyleConfig) {
+    if (!OldStyleConfig) {
         for (i = 0; i < xf86NumScreens; i++) {
             pLayout = &xf86ScreenLayout[i];
             pScreen = xf86Screens[i]->pScreen;
commit 4100687ea667970733c3aa69f704be0e3747f9fd
Author: Adam Jackson <ajax at redhat.com>
Date:   Mon Jun 23 15:42:23 2014 -0400

    xfree86: Remove useless #include "fb.h"
    
    Reviewed-by: Alex Deucher <alexander.deucher at amd.com>
    Signed-off-by: Adam Jackson <ajax at redhat.com>

diff --git a/hw/xfree86/modes/xf86Rotate.c b/hw/xfree86/modes/xf86Rotate.c
index 1627e61..54cbf2e 100644
--- a/hw/xfree86/modes/xf86Rotate.c
+++ b/hw/xfree86/modes/xf86Rotate.c
@@ -35,7 +35,6 @@
 
 #include "xf86.h"
 #include "xf86DDC.h"
-#include "fb.h"
 #include "windowstr.h"
 #include "xf86Crtc.h"
 #include "xf86Modes.h"
commit 2d451c5cdc7f81ea0c94c3542fab45027f829736
Author: Adam Jackson <ajax at redhat.com>
Date:   Thu May 22 14:04:16 2014 -0400

    xfree86: Remove pointless xf86RandRCreateScreenResources
    
    Given the #if 0 this was wrapping for no effect.
    
    Reviewed-by: Keith Packard <keithp at keithp.com>
    Signed-off-by: Adam Jackson <ajax at redhat.com>

diff --git a/hw/xfree86/common/xf86RandR.c b/hw/xfree86/common/xf86RandR.c
index 2418731..08f656b 100644
--- a/hw/xfree86/common/xf86RandR.c
+++ b/hw/xfree86/common/xf86RandR.c
@@ -37,7 +37,6 @@
 #include "inputstr.h"
 
 typedef struct _xf86RandRInfo {
-    CreateScreenResourcesProcPtr CreateScreenResources;
     CloseScreenProcPtr CloseScreen;
     int virtualX;
     int virtualY;
@@ -336,34 +335,6 @@ xf86RandRSetConfig(ScreenPtr pScreen,
 }
 
 /*
- * Wait until the screen is initialized before whacking the
- * sizes around; otherwise the screen pixmap will be allocated
- * at the current mode size rather than the maximum size
- */
-static Bool
-xf86RandRCreateScreenResources(ScreenPtr pScreen)
-{
-    XF86RandRInfoPtr randrp = XF86RANDRINFO(pScreen);
-
-#if 0
-    ScrnInfoPtr scrp = xf86ScreenToScrn(pScreen);
-    DisplayModePtr mode;
-#endif
-
-    pScreen->CreateScreenResources = randrp->CreateScreenResources;
-    if (!(*pScreen->CreateScreenResources) (pScreen))
-        return FALSE;
-
-#if 0
-    mode = scrp->currentMode;
-    if (mode)
-        xf86RandRSetMode(pScreen, mode, TRUE);
-#endif
-
-    return TRUE;
-}
-
-/*
  * Reset size back to original
  */
 static Bool
@@ -463,9 +434,6 @@ xf86RandRInit(ScreenPtr pScreen)
     randrp->mmWidth = pScreen->mmWidth;
     randrp->mmHeight = pScreen->mmHeight;
 
-    randrp->CreateScreenResources = pScreen->CreateScreenResources;
-    pScreen->CreateScreenResources = xf86RandRCreateScreenResources;
-
     randrp->CloseScreen = pScreen->CloseScreen;
     pScreen->CloseScreen = xf86RandRCloseScreen;
 
commit a8cca7bd5ad7ea36a9585f4927ed53cfa6db1daf
Author: Adam Jackson <ajax at redhat.com>
Date:   Fri May 2 11:43:14 2014 -0400

    xfree86: Remove protectMem from VidMemInfo
    
    Never filled in.
    
    Reviewed-by: Keith Packard <keithp at keithp.com>
    Signed-off-by: Adam Jackson <ajax at redhat.com>

diff --git a/hw/xfree86/os-support/xf86OSpriv.h b/hw/xfree86/os-support/xf86OSpriv.h
index 7f003e8..b56f45a 100644
--- a/hw/xfree86/os-support/xf86OSpriv.h
+++ b/hw/xfree86/os-support/xf86OSpriv.h
@@ -36,14 +36,12 @@ typedef void *(*MapMemProcPtr) (int, unsigned long, unsigned long, int);
 typedef void (*UnmapMemProcPtr) (int, void *, unsigned long);
 typedef void *(*SetWCProcPtr) (int, unsigned long, unsigned long, Bool,
                                  MessageType);
-typedef void (*ProtectMemProcPtr) (int, void *, unsigned long, Bool);
 typedef void (*UndoWCProcPtr) (int, void *);
 
 typedef struct {
     Bool initialised;
     MapMemProcPtr mapMem;
     UnmapMemProcPtr unmapMem;
-    ProtectMemProcPtr protectMem;
     SetWCProcPtr setWC;
     UndoWCProcPtr undoWC;
     Bool linearSupported;
commit e4cf1e58f5745dd39a9dd5eb29acd1cb28710094
Author: Adam Jackson <ajax at redhat.com>
Date:   Fri May 2 11:11:14 2014 -0400

    xfree86: Remove unused xf86{Map,Unmap}LegacyIO
    
    I ported these to pciaccess in:
    
        commit 858fbbb40d7c69540cd1fb5315cebf811c6e7b3f
        Author: Adam Jackson <ajax at redhat.com>
        Date:   Fri Sep 16 13:33:04 2011 -0400
    
            pci: Port xf86MapLegacyIO to pciaccess
    
    As of yet there are still no drivers using them, and there's not a lot
    of value in having the wrappers when they just trivially call pciaccess
    anyway.  Nuke 'em.
    
    Reviewed-by: Keith Packard <keithp at keithp.com>
    Signed-off-by: Adam Jackson <ajax at redhat.com>

diff --git a/hw/xfree86/common/xf86pciBus.c b/hw/xfree86/common/xf86pciBus.c
index 33fbd7f..e86ecb9 100644
--- a/hw/xfree86/common/xf86pciBus.c
+++ b/hw/xfree86/common/xf86pciBus.c
@@ -1473,15 +1473,3 @@ xf86PciConfigureNewDev(void *busData, struct pci_device *pVideo,
     if (*chipset < 0)
         *chipset = (pVideo->vendor_id << 16) | pVideo->device_id;
 }
-
-struct pci_io_handle *
-xf86MapLegacyIO(struct pci_device *dev)
-{
-    return pci_legacy_open_io(dev, 0, 64 * 1024);
-}
-
-void
-xf86UnmapLegacyIO(struct pci_device *dev, struct pci_io_handle *handle)
-{
-    pci_device_close_io(dev, handle);
-}
diff --git a/hw/xfree86/os-support/bus/xf86Pci.h b/hw/xfree86/os-support/bus/xf86Pci.h
index 5b34310..210ab3d 100644
--- a/hw/xfree86/os-support/bus/xf86Pci.h
+++ b/hw/xfree86/os-support/bus/xf86Pci.h
@@ -235,9 +235,4 @@
 /* Public PCI access functions */
 extern _X_EXPORT Bool xf86scanpci(void);
 
-/* Domain access functions.  Some of these probably shouldn't be public */
-extern _X_EXPORT struct pci_io_handle *xf86MapLegacyIO(struct pci_device *dev);
-extern _X_EXPORT void xf86UnmapLegacyIO(struct pci_device *,
-                                        struct pci_io_handle *);
-
 #endif                          /* _XF86PCI_H */
commit 96206cf47752af3fc8ca14dc1e03c59ed482167f
Author: Adam Jackson <ajax at redhat.com>
Date:   Tue Jul 8 13:19:08 2014 -0400

    xfree86: Remove deprecated PCI types
    
    Reviewed-by: Keith Packard <keithp at keithp.com>
    Signed-off-by: Adam Jackson <ajax at redhat.com>

diff --git a/hw/xfree86/os-support/bus/xf86Pci.h b/hw/xfree86/os-support/bus/xf86Pci.h
index 0397796..5b34310 100644
--- a/hw/xfree86/os-support/bus/xf86Pci.h
+++ b/hw/xfree86/os-support/bus/xf86Pci.h
@@ -232,10 +232,6 @@
  * Typedefs, etc...
  */
 
-/* Primitive Types */
-typedef unsigned long IOADDRESS _X_DEPRECATED;  /* Must be large enough for a pointer */
-typedef CARD32 PCITAG _X_DEPRECATED;
-
 /* Public PCI access functions */
 extern _X_EXPORT Bool xf86scanpci(void);
 
commit 46fd5a28ef7191b5ad0244f849c756dd2c5f43b6
Author: Adam Jackson <ajax at redhat.com>
Date:   Fri May 2 11:09:53 2014 -0400

    xfree86: Remove some unused pre-pciaccess types
    
    Reviewed-by: Keith Packard <keithp at keithp.com>
    Signed-off-by: Adam Jackson <ajax at redhat.com>

diff --git a/hw/xfree86/os-support/bus/xf86Pci.h b/hw/xfree86/os-support/bus/xf86Pci.h
index f69e55b..0397796 100644
--- a/hw/xfree86/os-support/bus/xf86Pci.h
+++ b/hw/xfree86/os-support/bus/xf86Pci.h
@@ -233,21 +233,9 @@
  */
 
 /* Primitive Types */
-typedef unsigned long ADDRESS;  /* Memory/PCI address */
 typedef unsigned long IOADDRESS _X_DEPRECATED;  /* Must be large enough for a pointer */
 typedef CARD32 PCITAG _X_DEPRECATED;
 
-typedef enum {
-    PCI_MEM,
-    PCI_MEM_SIZE,
-    PCI_MEM_SPARSE_BASE,
-    PCI_MEM_SPARSE_MASK,
-    PCI_IO,
-    PCI_IO_SIZE,
-    PCI_IO_SPARSE_BASE,
-    PCI_IO_SPARSE_MASK
-} PciAddrType;
-
 /* Public PCI access functions */
 extern _X_EXPORT Bool xf86scanpci(void);
 
commit 3bb9f9862b5bea3720ba7922714af729cab38776
Author: Adam Jackson <ajax at redhat.com>
Date:   Fri Feb 28 13:31:08 2014 -0500

    xfree86: Remove xf86ConfigActivePciEntity
    
    The giant OBSOLETE DO NOT USE comment has been there since 2000,
    probably it's safe to nuke by now.
    
    Reviewed-by: Alex Deucher <alexander.deucher at amd.com>
    Signed-off-by: Adam Jackson <ajax at redhat.com>

diff --git a/hw/xfree86/common/xf86.h b/hw/xfree86/common/xf86.h
index cec3135..49ff35b 100644
--- a/hw/xfree86/common/xf86.h
+++ b/hw/xfree86/common/xf86.h
@@ -129,14 +129,6 @@ extern _X_EXPORT ScrnInfoPtr xf86ConfigPciEntity(ScrnInfoPtr pScrn,
                                                  EntityProc enter,
                                                  EntityProc leave,
                                                  void *private);
-/* Obsolete! don't use */
-extern _X_EXPORT Bool xf86ConfigActivePciEntity(ScrnInfoPtr pScrn,
-                                                int entityIndex,
-                                                PciChipsets * p_chip,
-                                                void *dummy, EntityProc init,
-                                                EntityProc enter,
-                                                EntityProc leave,
-                                                void *private);
 #else
 #define xf86VGAarbiterInit() do {} while (0)
 #define xf86VGAarbiterFini() do {} while (0)
diff --git a/hw/xfree86/common/xf86pciBus.c b/hw/xfree86/common/xf86pciBus.c
index c06b040..33fbd7f 100644
--- a/hw/xfree86/common/xf86pciBus.c
+++ b/hw/xfree86/common/xf86pciBus.c
@@ -1061,33 +1061,6 @@ xf86ConfigPciEntity(ScrnInfoPtr pScrn, int scrnFlag, int entityIndex,
     return pScrn;
 }
 
-/*
- *  OBSOLETE ! xf86ConfigActivePciEntity() is an obsolete function.
- *             It is likely to be removed. Don't use!
- */
-Bool
-xf86ConfigActivePciEntity(ScrnInfoPtr pScrn, int entityIndex,
-                          PciChipsets * p_chip, void *dummy, EntityProc init,
-                          EntityProc enter, EntityProc leave, void *private)
-{
-    EntityInfoPtr pEnt = xf86GetEntityInfo(entityIndex);
-
-    if (!pEnt)
-        return FALSE;
-
-    if (!pEnt->active || !(pEnt->location.type == BUS_PCI)) {
-        free(pEnt);
-        return FALSE;
-    }
-    xf86AddEntityToScreen(pScrn, entityIndex);
-
-    free(pEnt);
-    if (!xf86SetEntityFuncs(entityIndex, init, enter, leave, private))
-        return FALSE;
-
-    return TRUE;
-}
-
 int
 xf86VideoPtrToDriverList(struct pci_device *dev,
                      char *returnList[], int returnListMax)
commit 51531a67179e342f6ad798de21accf014748a04f
Author: Adam Jackson <ajax at redhat.com>
Date:   Tue Jun 10 13:10:28 2014 -0400

    vgahw: Nuke unused vgaCmap.c
    
    Never been built since m12n, can't be needed.
    
    Reviewed-by: Keith Packard <keithp at keithp.com>
    Signed-off-by: Adam Jackson <ajax at redhat.com>

diff --git a/hw/xfree86/doc/ddxDesign.xml b/hw/xfree86/doc/ddxDesign.xml
index d1fd9af..fcf2228 100644
--- a/hw/xfree86/doc/ddxDesign.xml
+++ b/hw/xfree86/doc/ddxDesign.xml
@@ -9094,8 +9094,7 @@ ZZZScreenInit(ScreenPtr pScreen, int argc, char **argv)
     xf86SetBlackWhitePixels(pScreen);
 
     /*
-     * Install colourmap functions.  If using the vgahw module,
-     * vgaHandleColormaps would usually be called here.
+     * Install colourmap functions.
      */
 
     ...
diff --git a/hw/xfree86/vgahw/Makefile.am b/hw/xfree86/vgahw/Makefile.am
index 4b718b4..b8196a6 100644
--- a/hw/xfree86/vgahw/Makefile.am
+++ b/hw/xfree86/vgahw/Makefile.am
@@ -6,5 +6,3 @@ AM_CPPFLAGS = $(XORG_INCS) -I$(srcdir)/../ddc -I$(srcdir)/../i2c
 AM_CFLAGS = $(DIX_CFLAGS) $(XORG_CFLAGS)
 
 sdk_HEADERS = vgaHW.h
-
-EXTRA_DIST = vgaCmap.c
diff --git a/hw/xfree86/vgahw/vgaCmap.c b/hw/xfree86/vgahw/vgaCmap.c
deleted file mode 100644
index bf61225..0000000
--- a/hw/xfree86/vgahw/vgaCmap.c
+++ /dev/null
@@ -1,275 +0,0 @@
-/*
- * Copyright 1990,91 by Thomas Roell, Dinkelscherben, Germany.
- *
- * Permission to use, copy, modify, distribute, and sell this software and its
- * documentation for any purpose is hereby granted without fee, provided that
- * the above copyright notice appear in all copies and that both that
- * copyright notice and this permission notice appear in supporting
- * documentation, and that the name of Thomas Roell not be used in
- * advertising or publicity pertaining to distribution of the software without
- * specific, written prior permission.  Thomas Roell makes no representations
- * about the suitability of this software for any purpose.  It is provided
- * "as is" without express or implied warranty.
- *
- * THOMAS ROELL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
- * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
- * EVENT SHALL THOMAS ROELL BE LIABLE FOR ANY SPECIAL, INDIRECT OR
- * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
- * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
- * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- * PERFORMANCE OF THIS SOFTWARE.
- *
- */
-
-#ifdef HAVE_XORG_CONFIG_H
-#include <xorg-config.h>
-#endif
-
-#include <X11/X.h>
-#include <X11/Xproto.h>
-#include "windowstr.h"
-#include "mipointer.h"
-#include "micmap.h"
-
-#include "xf86.h"
-#include "vgaHW.h"
-
-#include <X11/extensions/xf86dgaproto.h>
-#include "dgaproc.h"
-
-#define NOMAPYET        (ColormapPtr) 0
-
-int
-vgaListInstalledColormaps(pScreen, pmaps)
-ScreenPtr pScreen;
-Colormap *pmaps;
-{
-    /* By the time we are processing requests, we can guarantee that there
-     * is always a colormap installed */
-
-    *pmaps = GetInstalledmiColormap(pScreen)->mid;
-    return 1;
-}
-
-int
-vgaGetInstalledColormaps(pScreen, pmaps)
-ScreenPtr pScreen;
-ColormapPtr *pmaps;
-{
-    /* By the time we are processing requests, we can guarantee that there
-     * is always a colormap installed */
-
-    *pmaps = GetInstalledmiColormap(pScreen);
-    return 1;
-}
-
-int
-vgaCheckColorMap(ColormapPtr pmap)
-{
-    return (pmap != GetInstalledmiColormap(pmap->pScreen));
-}
-
-void
-vgaStoreColors(pmap, ndef, pdefs)
-ColormapPtr pmap;
-int ndef;
-xColorItem *pdefs;
-{
-    int i;
-    unsigned char *cmap, *tmp = NULL;
-    xColorItem directDefs[256];
-    Bool new_overscan = FALSE;
-    Bool writeColormap;
-    int scrnIndex = pmap->pScreen->myNum;
-    ScrnInfoPtr scrninfp = xf86ScreenToScrn(pmap->pScreen);
-    vgaHWPtr hwp = VGAHWPTR(scrninfp);
-
-    unsigned char overscan = hwp->ModeReg.Attribute[OVERSCAN];
-    unsigned char tmp_overscan = 0;
-
-    if (vgaCheckColorMap(pmap))
-        return;
-
-    if ((pmap->pVisual->class | DynamicClass) == DirectColor) {
-        ndef = miExpandDirectColors(pmap, ndef, pdefs, directDefs);
-        pdefs = directDefs;
-    }
-
-    writeColormap = scrninfp->vtSema;
-    if (DGAScreenAvailable(pmap->pScreen)) {
-        writeColormap = writeColormap ||
-            (DGAGetDirectMode(scrnIndex) &&
-             !(DGAGetFlags(scrnIndex) & XF86DGADirectColormap)) ||
-            (DGAGetFlags(scrnIndex) & XF86DGAHasColormap);
-    }
-
-    if (writeColormap)
-        hwp->enablePalette(hwp);
-
-    for (i = 0; i < ndef; i++) {
-        if (pdefs[i].pixel == overscan) {
-            new_overscan = TRUE;
-        }
-        cmap = &(hwp->ModeReg.DAC[pdefs[i].pixel * 3]);
-        if (scrninfp->rgbBits == 8) {
-            cmap[0] = pdefs[i].red >> 8;
-            cmap[1] = pdefs[i].green >> 8;
-            cmap[2] = pdefs[i].blue >> 8;
-        }
-        else {
-            cmap[0] = pdefs[i].red >> 10;
-            cmap[1] = pdefs[i].green >> 10;
-            cmap[2] = pdefs[i].blue >> 10;
-        }
-#if 0
-        if (clgd6225Lcd) {
-            /* The LCD doesn't like white */
-            if (cmap[0] == 63)
-                cmap[0] = 62;
-            if (cmap[1] == 63)
-                cmap[1] = 62;
-            if (cmap[2] == 63)
-                cmap[2] = 62;
-        }
-#endif
-
-        if (writeColormap) {
-            if (hwp->ShowOverscan && i == 255)
-                continue;
-            hwp->writeDacWriteAddr(hwp, pdefs[i].pixel);
-            DACDelay(hwp);
-            hwp->writeDacData(hwp, cmap[0]);
-            DACDelay(hwp);
-            hwp->writeDacData(hwp, cmap[1]);
-            DACDelay(hwp);
-            hwp->writeDacData(hwp, cmap[2]);
-            DACDelay(hwp);
-        }
-    }
-    if (new_overscan && !hwp->ShowOverscan) {
-        new_overscan = FALSE;
-        for (i = 0; i < ndef; i++) {
-            if (pdefs[i].pixel == overscan) {
-                if ((pdefs[i].red != 0) ||
-                    (pdefs[i].green != 0) || (pdefs[i].blue != 0)) {
-                    new_overscan = TRUE;
-                    tmp_overscan = overscan;
-                    tmp = &(hwp->ModeReg.DAC[pdefs[i].pixel * 3]);
-                }
-                break;
-            }
-        }
-        if (new_overscan) {
-            /*
-             * Find a black pixel, or the nearest match.
-             */
-            for (i = 255; i >= 0; i--) {
-                cmap = &(hwp->ModeReg.DAC[i * 3]);
-                if ((cmap[0] == 0) && (cmap[1] == 0) && (cmap[2] == 0)) {
-                    overscan = i;
-                    break;
-                }
-                else {
-                    if ((cmap[0] < tmp[0]) &&
-                        (cmap[1] < tmp[1]) && (cmap[2] < tmp[2])) {
-                        tmp = cmap;
-                        tmp_overscan = i;
-                    }
-                }
-            }
-            if (i < 0) {
-                overscan = tmp_overscan;
-            }
-            hwp->ModeReg.Attribute[OVERSCAN] = overscan;
-            if (writeColormap) {
-                hwp->writeAttr(hwp, OVERSCAN, overscan);
-            }
-        }
-    }
-
-    if (writeColormap)
-        hwp->disablePalette(hwp);
-}
-
-void
-vgaInstallColormap(pmap)
-ColormapPtr pmap;
-{
-    ColormapPtr oldmap = GetInstalledmiColormap(pmap->pScreen);
-    int entries;
-    Pixel *ppix;
-    xrgb *prgb;
-    xColorItem *defs;
-    int i;
-
-    if (pmap == oldmap)
-        return;
-
-    if ((pmap->pVisual->class | DynamicClass) == DirectColor)
-        entries = (pmap->pVisual->redMask |
-                   pmap->pVisual->greenMask | pmap->pVisual->blueMask) + 1;
-    else
-        entries = pmap->pVisual->ColormapEntries;
-
-    ppix = (Pixel *) malloc(entries * sizeof(Pixel));
-    prgb = (xrgb *) malloc(entries * sizeof(xrgb));
-    defs = (xColorItem *) malloc(entries * sizeof(xColorItem));
-
-    if (oldmap != NOMAPYET)
-        WalkTree(pmap->pScreen, TellLostMap, &oldmap->mid);
-
-    SetInstalledmiColormap(pmap->pScreen, pmap);
-
-    for (i = 0; i < entries; i++)
-        ppix[i] = i;
-
-    QueryColors(pmap, entries, ppix, prgb, serverClient);
-
-    for (i = 0; i < entries; i++) {     /* convert xrgbs to xColorItems */
-        defs[i].pixel = ppix[i];
-        defs[i].red = prgb[i].red;
-        defs[i].green = prgb[i].green;
-        defs[i].blue = prgb[i].blue;
-        defs[i].flags = DoRed | DoGreen | DoBlue;
-    }
-    pmap->pScreen->StoreColors(pmap, entries, defs);
-
-    WalkTree(pmap->pScreen, TellGainedMap, &pmap->mid);
-
-    free(ppix);
-    free(prgb);
-    free(defs);
-}
-
-void
-vgaUninstallColormap(pmap)
-ColormapPtr pmap;
-{
-
-    ColormapPtr defColormap;
-
-    if (pmap != GetInstalledmiColormap(pmap->pScreen))
-        return;
-
-    dixLookupResourceByType((void **) &defColormap,
-                            pmap->pScreen->defColormap, RT_COLORMAP,
-                            serverClient, DixInstallAccess);
-
-    if (defColormap == GetInstalledmiColormap(pmap->pScreen))
-        return;
-
-    (*pmap->pScreen->InstallColormap) (defColormap);
-}
-
-void
-vgaHandleColormaps(ScreenPtr pScreen, ScrnInfoPtr scrnp)
-{
-    if (scrnp->bitsPerPixel > 1) {
-        if (scrnp->bitsPerPixel <= 8) { /* For 8bpp SVGA and VGA16 */
-            pScreen->InstallColormap = vgaInstallColormap;
-            pScreen->UninstallColormap = vgaUninstallColormap;
-            pScreen->ListInstalledColormaps = vgaListInstalledColormaps;
-            pScreen->StoreColors = vgaStoreColors;
-        }
-    }
-}
commit 2db71b232c4756773562182cadb7ccdf5194a62d
Author: Adam Jackson <ajax at redhat.com>
Date:   Tue Jun 10 13:00:11 2014 -0400

    saver: Don't open-code IsMapInstalled
    
    Reviewed-by: Keith Packard <keithp at keithp.com>
    Signed-off-by: Adam Jackson <ajax at redhat.com>

diff --git a/Xext/saver.c b/Xext/saver.c
index 8e92fdf..2c14ea0 100644
--- a/Xext/saver.c
+++ b/Xext/saver.c
@@ -467,9 +467,6 @@ CreateSaverWindow(ScreenPtr pScreen)
     WindowPtr pWin;
     int result;
     unsigned long mask;
-    Colormap *installedMaps;
-    int numInstalled;
-    int i;
     Colormap wantMap;
     ColormapPtr pCmap;
 
@@ -545,18 +542,7 @@ CreateSaverWindow(ScreenPtr pScreen)
 
     /* check and install our own colormap if it isn't installed now */
     wantMap = wColormap(pWin);
-    if (wantMap == None)
-        return TRUE;
-    installedMaps = malloc(pScreen->maxInstalledCmaps * sizeof(Colormap));
-    numInstalled = (*pWin->drawable.pScreen->ListInstalledColormaps)
-        (pScreen, installedMaps);
-    for (i = 0; i < numInstalled; i++)
-        if (installedMaps[i] == wantMap)
-            break;
-
-    free((char *) installedMaps);
-
-    if (i < numInstalled)
+    if (wantMap == None || IsMapInstalled(wantMap, pWin))
         return TRUE;
 
     result = dixLookupResourceByType((void **) &pCmap, wantMap, RT_COLORMAP,
commit dd0e8491f75afbd72bea17172a042aa45ff7e30b
Author: Adam Jackson <ajax at redhat.com>
Date:   Fri Jun 20 12:36:10 2014 -0400

    render: Remove unused CopyPicture
    
    Arguably this would be useful API, but it's never called, and a careful
    reading of the CPClipMask path reveals that callers would be fairly
    disappointed.
    
    Reviewed-by: Keith Packard <keithp at keithp.com>
    Signed-off-by: Adam Jackson <ajax at redhat.com>

diff --git a/render/picture.c b/render/picture.c
index 7da9310..58535d4 100644
--- a/render/picture.c
+++ b/render/picture.c
@@ -1332,87 +1332,6 @@ SetPictureTransform(PicturePtr pPicture, PictTransform * transform)
     return Success;
 }
 
-void
-CopyPicture(PicturePtr pSrc, Mask mask, PicturePtr pDst)
-{
-    PictureScreenPtr ps = GetPictureScreen(pSrc->pDrawable->pScreen);
-    Mask origMask = mask;
-
-    pDst->serialNumber |= GC_CHANGE_SERIAL_BIT;
-    pDst->stateChanges |= mask;
-
-    while (mask) {
-        Mask bit = lowbit(mask);
-
-        switch (bit) {
-        case CPRepeat:
-            pDst->repeat = pSrc->repeat;
-            pDst->repeatType = pSrc->repeatType;
-            break;
-        case CPAlphaMap:
-            if (pSrc->alphaMap &&
-                pSrc->alphaMap->pDrawable->type == DRAWABLE_PIXMAP)
-                pSrc->alphaMap->refcnt++;
-            if (pDst->alphaMap)
-                FreePicture((void *) pDst->alphaMap, (XID) 0);
-            pDst->alphaMap = pSrc->alphaMap;
-            break;
-        case CPAlphaXOrigin:
-            pDst->alphaOrigin.x = pSrc->alphaOrigin.x;
-            break;
-        case CPAlphaYOrigin:
-            pDst->alphaOrigin.y = pSrc->alphaOrigin.y;
-            break;
-        case CPClipXOrigin:
-            pDst->clipOrigin.x = pSrc->clipOrigin.x;
-            break;
-        case CPClipYOrigin:
-            pDst->clipOrigin.y = pSrc->clipOrigin.y;
-            break;
-        case CPClipMask:
-            switch (pSrc->clientClipType) {
-            case CT_NONE:
-                (*ps->ChangePictureClip) (pDst, CT_NONE, NULL, 0);
-                break;
-            case CT_REGION:
-                if (!pSrc->clientClip) {
-                    (*ps->ChangePictureClip) (pDst, CT_NONE, NULL, 0);
-                }
-                else {
-                    RegionPtr clientClip;
-                    RegionPtr srcClientClip = (RegionPtr) pSrc->clientClip;
-
-                    clientClip = RegionCreate(RegionExtents(srcClientClip),
-                                              RegionNumRects(srcClientClip));
-                    (*ps->ChangePictureClip) (pDst, CT_REGION, clientClip, 0);
-                }
-                break;
-            default:
-                /* XXX: CT_PIXMAP unimplemented */
-                break;
-            }
-            break;
-        case CPGraphicsExposure:
-            pDst->graphicsExposures = pSrc->graphicsExposures;
-            break;
-        case CPPolyEdge:
-            pDst->polyEdge = pSrc->polyEdge;
-            break;
-        case CPPolyMode:
-            pDst->polyMode = pSrc->polyMode;
-            break;
-        case CPDither:
-            break;
-        case CPComponentAlpha:
-            pDst->componentAlpha = pSrc->componentAlpha;
-            break;
-        }
-        mask &= ~bit;
-    }
-
-    (*ps->ChangePicture) (pDst, origMask);
-}
-
 static void
 ValidateOnePicture(PicturePtr pPicture)
 {
diff --git a/render/picturestr.h b/render/picturestr.h
index 8c8100d..1278f62 100644
--- a/render/picturestr.h
+++ b/render/picturestr.h
@@ -476,9 +476,6 @@ extern _X_EXPORT int
  SetPictureTransform(PicturePtr pPicture, PictTransform * transform);
 
 extern _X_EXPORT void
- CopyPicture(PicturePtr pSrc, Mask mask, PicturePtr pDst);
-
-extern _X_EXPORT void
  ValidatePicture(PicturePtr pPicture);
 
 extern _X_EXPORT int
commit 578026fcd58d12dd0be4c0976ee5ecf95a9d61f0
Author: Adam Jackson <ajax at redhat.com>
Date:   Tue May 20 12:43:59 2014 -0400

    os: Remove LocalClientCred
    
    The comment lies, shm hasn't used this code since:
    
        commit fdef7be5c8d5989e0aa453d0a5b86d0a6952e960
        Author: Alan Coopersmith <alan.coopersmith at sun.com>
        Date:   Tue Oct 9 18:44:04 2007 -0700
    
            Sun bug 6589829: include zoneid of shm segment in access [...]
    
    Reviewed-by: Alan Coopersmith <alan.coopersmith at oracle.com>
    Signed-off-by: Adam Jackson <ajax at redhat.com>

diff --git a/include/os.h b/include/os.h
index 9982c9b..e4ec4b1 100644
--- a/include/os.h
+++ b/include/os.h
@@ -380,9 +380,6 @@ typedef struct sockaddr *sockaddrPtr;
 extern _X_EXPORT int
 InvalidHost(sockaddrPtr /*saddr */ , int /*len */ , ClientPtr client);
 
-extern _X_EXPORT int
-LocalClientCred(ClientPtr, int *, int *);
-
 #define LCC_UID_SET	(1 << 0)
 #define LCC_GID_SET	(1 << 1)
 #define LCC_PID_SET	(1 << 2)
diff --git a/os/access.c b/os/access.c
index 9fcf99a..125f35f 100644
--- a/os/access.c
+++ b/os/access.c
@@ -1008,33 +1008,6 @@ ComputeLocalClient(ClientPtr client)
 }
 
 /*
- * Return the uid and gid of a connected local client
- * 
- * Used by XShm to test access rights to shared memory segments
- */
-int
-LocalClientCred(ClientPtr client, int *pUid, int *pGid)
-{
-    LocalClientCredRec *lcc;
-    int ret = GetLocalClientCreds(client, &lcc);
-
-    if (ret == 0) {
-#ifdef HAVE_GETZONEID           /* only local if in the same zone */
-        if ((lcc->fieldsSet & LCC_ZID_SET) && (lcc->zoneid != getzoneid())) {
-            FreeLocalClientCreds(lcc);
-            return -1;
-        }
-#endif
-        if ((lcc->fieldsSet & LCC_UID_SET) && (pUid != NULL))
-            *pUid = lcc->euid;
-        if ((lcc->fieldsSet & LCC_GID_SET) && (pGid != NULL))
-            *pGid = lcc->egid;
-        FreeLocalClientCreds(lcc);
-    }
-    return ret;
-}
-
-/*
  * Return the uid and all gids of a connected local client
  * Allocates a LocalClientCredRec - caller must call FreeLocalClientCreds
  * 
commit cad9b053d52f62432dfd70e42e0240de77027cae
Author: Adam Jackson <ajax at redhat.com>
Date:   Tue Jul 8 13:24:25 2014 -0400

    os: Remove deprecated malloc/free wrappers
    
    Reviewed-by: Alex Deucher <alexander.deucher at amd.com>
    Signed-off-by: Adam Jackson <ajax at redhat.com>

diff --git a/doc/Xserver-spec.xml b/doc/Xserver-spec.xml
index cd1a9d0..4c34419 100644
--- a/doc/Xserver-spec.xml
+++ b/doc/Xserver-spec.xml
@@ -1217,11 +1217,9 @@ library is contained in dix/dixfonts.c
 <section>
   <title>Memory Management</title>
 <para>
-Memory management is based on functions in the C runtime library.
-Xalloc(), Xrealloc(), and Xfree() are deprecated aliases for malloc(),
+Memory management is based on functions in the C runtime library, malloc(),
 realloc(), and free(), and you should simply call the C library functions
-directly.  Consult a C runtime library reference
-manual for more details.
+directly.  Consult a C runtime library reference manual for more details.
 </para>
 <para>
 Treat memory allocation carefully in your implementation.  Memory
diff --git a/include/os.h b/include/os.h
index 0cbb928..9982c9b 100644
--- a/include/os.h
+++ b/include/os.h
@@ -67,15 +67,11 @@ SOFTWARE.
 typedef struct _FontPathRec *FontPathPtr;
 typedef struct _NewClientRec *NewClientPtr;
 
-#ifndef xalloc
+#ifndef xnfalloc
 #define xnfalloc(size) XNFalloc((unsigned long)(size))
 #define xnfcalloc(_num, _size) XNFcalloc((unsigned long)(_num)*(unsigned long)(_size))
 #define xnfrealloc(ptr, size) XNFrealloc((void *)(ptr), (unsigned long)(size))
 
-#define xalloc(size) Xalloc((unsigned long)(size))
-#define xcalloc(_num, _size) Xcalloc((unsigned long)(_num)*(unsigned long)(_size))
-#define xrealloc(ptr, size) Xrealloc((void *)(ptr), (unsigned long)(size))
-#define xfree(ptr) Xfree((void *)(ptr))
 #define xstrdup(s) Xstrdup(s)
 #define xnfstrdup(s) XNFstrdup(s)
 #endif
@@ -214,37 +210,6 @@ extern _X_EXPORT int set_font_authorizations(char **authorizations,
                                              int *authlen,
                                              void *client);
 
-#ifndef _HAVE_XALLOC_DECLS
-#define _HAVE_XALLOC_DECLS
-
-/*
- * Use malloc(3) instead.
- */
-extern _X_EXPORT void *
-Xalloc(unsigned long /*amount */ ) _X_DEPRECATED;
-
-/*
- * Use calloc(3) instead
- */
-extern _X_EXPORT void *
-Xcalloc(unsigned long /*amount */ ) _X_DEPRECATED;
-
-/*
- * Use realloc(3) instead
- */
-extern _X_EXPORT void *
-Xrealloc(void * /*ptr */ , unsigned long /*amount */ )
- _X_DEPRECATED;
-
-/*
- * Use free(3) instead
- */
-extern _X_EXPORT void
-Xfree(void * /*ptr */ )
-    _X_DEPRECATED;
-
-#endif
-
 /*
  * This function malloc(3)s buffer, terminating the server if there is not
  * enough memory.
diff --git a/os/utils.c b/os/utils.c
index ed7581e..f319743 100644
--- a/os/utils.c
+++ b/os/utils.c
@@ -1090,24 +1090,6 @@ set_font_authorizations(char **authorizations, int *authlen, void *client)
 }
 
 void *
-Xalloc(unsigned long amount)
-{
-    /*
-     * Xalloc used to return NULL when large amount of memory is requested. In
-     * order to catch the buggy callers this warning has been added, slated to
-     * removal by anyone who touches this code (or just looks at it) in 2011.
-     *
-     * -- Mikhail Gusarov
-     */
-    if ((long) amount <= 0)
-        ErrorF("Warning: Xalloc: "
-               "requesting unpleasantly large amount of memory: %lu bytes.\n",
-               amount);
-
-    return malloc(amount);
-}
-
-void *
 XNFalloc(unsigned long amount)
 {
     void *ptr = malloc(amount);
@@ -1118,12 +1100,6 @@ XNFalloc(unsigned long amount)
 }
 
 void *
-Xcalloc(unsigned long amount)
-{
-    return calloc(1, amount);
-}
-
-void *
 XNFcalloc(unsigned long amount)
 {
     void *ret = calloc(1, amount);
@@ -1134,24 +1110,6 @@ XNFcalloc(unsigned long amount)
 }
 
 void *
-Xrealloc(void *ptr, unsigned long amount)
-{
-    /*
-     * Xrealloc used to return NULL when large amount of memory is requested. In
-     * order to catch the buggy callers this warning has been added, slated to
-     * removal by anyone who touches this code (or just looks at it) in 2011.
-     *
-     * -- Mikhail Gusarov
-     */
-    if ((long) amount <= 0)
-        ErrorF("Warning: Xrealloc: "
-               "requesting unpleasantly large amount of memory: %lu bytes.\n",
-               amount);
-
-    return realloc(ptr, amount);
-}
-
-void *
 XNFrealloc(void *ptr, unsigned long amount)
 {
     void *ret = realloc(ptr, amount);
@@ -1161,12 +1119,6 @@ XNFrealloc(void *ptr, unsigned long amount)
     return ret;
 }
 
-void
-Xfree(void *ptr)
-{
-    free(ptr);
-}
-
 char *
 Xstrdup(const char *s)
 {
commit d5b279977236c4f80a8ba81db1f81a314484facf
Author: Adam Jackson <ajax at redhat.com>
Date:   Thu May 22 13:58:45 2014 -0400

    miext/shadow: Remove shadowInit
    
    This code is nonsensical.  You end up creating a screen-sized pixmap
    that's totally detached from everything else, which you then listen for
    damage on, which means you'll never hear any damage, which means your
    shadow update hooks will never get called.  Any driver using this would
    be sorely disappointed.
    
    Reviewed-by: Keith Packard <keithp at keithp.com>
    Signed-off-by: Adam Jackson <ajax at redhat.com>

diff --git a/miext/shadow/shadow.c b/miext/shadow/shadow.c
index 6690f70..0dd3604a 100644
--- a/miext/shadow/shadow.c
+++ b/miext/shadow/shadow.c
@@ -196,23 +196,3 @@ shadowRemove(ScreenPtr pScreen, PixmapPtr pPixmap)
     RemoveBlockAndWakeupHandlers(shadowBlockHandler, shadowWakeupHandler,
                                  (void *) pScreen);
 }
-
-Bool
-shadowInit(ScreenPtr pScreen, ShadowUpdateProc update, ShadowWindowProc window)
-{
-    PixmapPtr pPixmap;
-
-    pPixmap = pScreen->CreatePixmap(pScreen, pScreen->width, pScreen->height,
-                                    pScreen->rootDepth, 0);
-    if (!pPixmap)
-        return FALSE;
-
-    if (!shadowSetup(pScreen)) {
-        pScreen->DestroyPixmap(pPixmap);
-        return FALSE;
-    }
-
-    shadowAdd(pScreen, pPixmap, update, window, SHADOW_ROTATE_0, 0);
-
-    return TRUE;
-}
diff --git a/miext/shadow/shadow.h b/miext/shadow/shadow.h
index 9c5f991..86fa944 100644
--- a/miext/shadow/shadow.h
+++ b/miext/shadow/shadow.h
@@ -87,10 +87,6 @@ shadowAdd(ScreenPtr pScreen,
 extern _X_EXPORT void
  shadowRemove(ScreenPtr pScreen, PixmapPtr pPixmap);
 
-extern _X_EXPORT Bool
-
-shadowInit(ScreenPtr pScreen, ShadowUpdateProc update, ShadowWindowProc window);
-
 extern _X_EXPORT void *shadowAlloc(int width, int height, int bpp);
 
 extern _X_EXPORT void
commit cf4793d99ecee4dfd6094e02b1ccb89eb744d313
Author: Adam Jackson <ajax at redhat.com>
Date:   Fri Feb 28 15:36:31 2014 -0500

    miext/shadow: Remove ancient backwards-compatibility hack
    
    Here's a trip down memory lane.  Back when we merged kdrive we adopted
    kdrive's version of shadow, which used damage directly instead of
    hand-rolling it.  However a couple of Xorg drivers referred to the
    accumulated damage region in the shadow private directly, so I added a
    hack to copy the damage region around.
    
    That was 9148d8700b7c5afc2644e5820c57c509378f93ce, back in early 2006.
    Eight years is unusually patient for me.  The neomagic and trident drivers
    were still relying on this, but they've been modified to ask the damage
    code for the region instead.
    
    Reviewed-by: Keith Packard <keithp at keithp.com>
    Signed-off-by: Adam Jackson <ajax at redhat.com>

diff --git a/miext/shadow/shadow.c b/miext/shadow/shadow.c
index 522e21b..6690f70 100644
--- a/miext/shadow/shadow.c
+++ b/miext/shadow/shadow.c
@@ -93,8 +93,6 @@ shadowGetImage(DrawablePtr pDrawable, int sx, int sy, int w, int h,
     wrap(pBuf, pScreen, GetImage);
 }
 
-#define BACKWARDS_COMPATIBILITY
-
 static Bool
 shadowCloseScreen(ScreenPtr pScreen)
 {
@@ -104,35 +102,12 @@ shadowCloseScreen(ScreenPtr pScreen)
     unwrap(pBuf, pScreen, CloseScreen);
     shadowRemove(pScreen, pBuf->pPixmap);
     DamageDestroy(pBuf->pDamage);
-#ifdef BACKWARDS_COMPATIBILITY
-    RegionUninit(&pBuf->damage);        /* bc */
-#endif
     if (pBuf->pPixmap)
         pScreen->DestroyPixmap(pBuf->pPixmap);
     free(pBuf);
     return pScreen->CloseScreen(pScreen);
 }
 
-#ifdef BACKWARDS_COMPATIBILITY
-static void
-shadowReportFunc(DamagePtr pDamage, RegionPtr pRegion, void *closure)
-{
-    ScreenPtr pScreen = closure;
-    shadowBufPtr pBuf = (shadowBufPtr)
-        dixLookupPrivate(&pScreen->devPrivates, shadowScrPrivateKey);
-
-    /* Register the damaged region, use DamageReportNone below when we
-     * want to break BC below... */
-    RegionUnion(&pDamage->damage, &pDamage->damage, pRegion);
-
-    /*
-     * BC hack.  In 7.0 and earlier several drivers would inspect the
-     * 'damage' member directly, so we have to keep it existing.
-     */
-    RegionCopy(&pBuf->damage, pRegion);
-}
-#endif
-
 Bool
 shadowSetup(ScreenPtr pScreen)
 {
@@ -147,15 +122,9 @@ shadowSetup(ScreenPtr pScreen)
     pBuf = malloc(sizeof(shadowBufRec));
     if (!pBuf)
         return FALSE;
-#ifdef BACKWARDS_COMPATIBILITY
-    pBuf->pDamage = DamageCreate((DamageReportFunc) shadowReportFunc,
-                                 (DamageDestroyFunc) NULL,
-                                 DamageReportRawRegion, TRUE, pScreen, pScreen);
-#else
     pBuf->pDamage = DamageCreate((DamageReportFunc) NULL,
                                  (DamageDestroyFunc) NULL,
                                  DamageReportNone, TRUE, pScreen, pScreen);
-#endif
     if (!pBuf->pDamage) {
         free(pBuf);
         return FALSE;
@@ -168,9 +137,6 @@ shadowSetup(ScreenPtr pScreen)
     pBuf->pPixmap = 0;
     pBuf->closure = 0;
     pBuf->randr = 0;
-#ifdef BACKWARDS_COMPATIBILITY
-    RegionNull(&pBuf->damage);  /* bc */
-#endif
 
     dixSetPrivate(&pScreen->devPrivates, shadowScrPrivateKey, pBuf);
     return TRUE;
diff --git a/miext/shadow/shadow.h b/miext/shadow/shadow.h
index 421ae96..9c5f991 100644
--- a/miext/shadow/shadow.h
+++ b/miext/shadow/shadow.h
@@ -43,12 +43,10 @@ typedef void *(*ShadowWindowProc) (ScreenPtr pScreen,
                                    CARD32 offset,
                                    int mode, CARD32 *size, void *closure);
 
-/* BC hack: do not move the damage member.  see shadow.c for explanation. */
 typedef struct _shadowBuf {
     DamagePtr pDamage;
     ShadowUpdateProc update;
     ShadowWindowProc window;
-    RegionRec damage;
     PixmapPtr pPixmap;
     void *closure;
     int randr;
commit 35eabf2e5272e17e6765027d4baea43b34c66933
Author: Adam Jackson <ajax at redhat.com>
Date:   Tue Jul 8 14:11:22 2014 -0400

    mi: Remove apparently unused miSegregateChildren
    
    This came in between XFree86 4.3 and 4.4, I'm not entirely sure what it
    was meant to do.
    
    Reviewed-by: Keith Packard <keithp at keithp.com>
    Signed-off-by: Adam Jackson <ajax at redhat.com>

diff --git a/mi/mi.h b/mi/mi.h
index feba5cb..d5a5ba3 100644
--- a/mi/mi.h
+++ b/mi/mi.h
@@ -515,9 +515,6 @@ extern _X_EXPORT void miMarkUnrealizedWindow(WindowPtr /*pChild */ ,
                                              Bool       /*fromConfigure */
     );
 
-extern _X_EXPORT void miSegregateChildren(WindowPtr pWin, RegionPtr pReg,
-                                          int depth);
-
 extern _X_EXPORT WindowPtr miSpriteTrace(SpritePtr pSprite, int x, int y);
 
 extern _X_EXPORT WindowPtr miXYToWindow(ScreenPtr pScreen, SpritePtr pSprite, int x, int y);
diff --git a/mi/miwindow.c b/mi/miwindow.c
index 57de91b..82c3513 100644
--- a/mi/miwindow.c
+++ b/mi/miwindow.c
@@ -746,20 +746,6 @@ miMarkUnrealizedWindow(WindowPtr pChild, WindowPtr pWin, Bool fromConfigure)
     }
 }
 
-void
-miSegregateChildren(WindowPtr pWin, RegionPtr pReg, int depth)
-{
-    WindowPtr pChild;
-
-    for (pChild = pWin->firstChild; pChild; pChild = pChild->nextSib) {
-        if (pChild->drawable.depth == depth)
-            RegionUnion(pReg, pReg, &pChild->borderClip);
-
-        if (pChild->firstChild)
-            miSegregateChildren(pChild, pReg, depth);
-    }
-}
-
 WindowPtr
 miSpriteTrace(SpritePtr pSprite, int x, int y)
 {
commit 150acef3af9bb43cb60cbcc558ef3ad4a710e624
Author: Adam Jackson <ajax at redhat.com>
Date:   Mon May 19 13:46:12 2014 -0400

    kdrive: Remove some dead bits of the man page
    
    Reviewed-by: Keith Packard <keithp at keithp.com>
    Signed-off-by: Adam Jackson <ajax at redhat.com>

diff --git a/hw/kdrive/Xkdrive.man b/hw/kdrive/Xkdrive.man
index b37f9f1..c3e2089 100644
--- a/hw/kdrive/Xkdrive.man
+++ b/hw/kdrive/Xkdrive.man
@@ -4,10 +4,6 @@
 .SH NAME
 Xkdrive \- tiny X server
 .SH SYNOPSIS
-.B Xvesa
-.RI [ :display ]
-.RI [ option ...]
-
 .B Xfbdev
 .RI [ :display ]
 .RI [ option ...]
@@ -24,9 +20,6 @@ Xserver(1)), all the
 .B Xkdrive
 servers accept the following options:
 .TP 8
-.B -card \fIpcmcia\fP
-use pcmcia card as additional screen.
-.TP 8
 .B -dumb
 disable hardware acceleration.
 .TP 8
commit 71ef49062ee33ac49033fbcd67bab88120882668
Author: Adam Jackson <ajax at redhat.com>
Date:   Fri Feb 28 14:05:25 2014 -0500

    dix: Make some LBX-era code more obvious
    
    isItTimeToYield in the conditional effectively didn't do anything here.
    Take it out, and remove the comment since LBX proxies aren't a thing for
    us anymore.
    
    Reviewed-by: Keith Packard <keithp at keithp.com>
    Signed-off-by: Adam Jackson <ajax at redhat.com>

diff --git a/dix/dispatch.c b/dix/dispatch.c
index 4f830f7..f7a08f8 100644
--- a/dix/dispatch.c
+++ b/dix/dispatch.c
@@ -3188,13 +3188,11 @@ ProcKillClient(ClientPtr client)
     rc = dixLookupClient(&killclient, stuff->id, client, DixDestroyAccess);
     if (rc == Success) {
         CloseDownClient(killclient);
-        /* if an LBX proxy gets killed, isItTimeToYield will be set */
-        if (isItTimeToYield || (client == killclient)) {
+        if (client == killclient) {
             /* force yield and return Success, so that Dispatch()
              * doesn't try to touch client
              */
             isItTimeToYield = TRUE;
-            return Success;
         }
         return Success;
     }
commit a317e0a974c1597d55fe05a38b4a495c4e4e8d71
Author: Adam Jackson <ajax at redhat.com>
Date:   Fri May 2 11:50:17 2014 -0400

    bsd: Remove some reference arm code behind #if 0
    
    git history is reference enough, thanks.
    
    Reviewed-by: Alex Deucher <alexander.deucher at amd.com>
    Signed-off-by: Adam Jackson <ajax at redhat.com>

diff --git a/hw/xfree86/os-support/bsd/arm_video.c b/hw/xfree86/os-support/bsd/arm_video.c
index 6a977c2..e295c92 100644
--- a/hw/xfree86/os-support/bsd/arm_video.c
+++ b/hw/xfree86/os-support/bsd/arm_video.c
@@ -487,142 +487,3 @@ xf86DisableIO()
 }
 
 #endif                          /* USE_ARC_MMAP */
-
-#if 0
-/*
- * XXX This is here for reference.  It needs to be handled differently for the
- * ND.
- */
-#if defined(USE_ARC_MMAP) || defined(__arm32__)
-
-#ifdef USE_ARM32_MMAP
-#define	DEV_MEM_IOBASE	0x43000000
-#endif
-
-static Bool ScreenEnabled[MAXSCREENS];
-static Bool ExtendedEnabled = FALSE;
-static Bool InitDone = FALSE;
-
-Bool
-xf86EnableIOPorts(ScreenNum)
-int ScreenNum;
-{
-    int i;
-    int fd;
-    void *base;
-
-#ifdef __arm32__
-    struct memAccess *memInfoP;
-    int *Size;
-#endif
-
-    ScreenEnabled[ScreenNum] = TRUE;
-
-    if (ExtendedEnabled)
-        return TRUE;
-
-#ifdef USE_ARC_MMAP
-    if ((fd = open("/dev/ttyC0", O_RDWR)) >= 0) {
-        /* Try to map a page at the pccons I/O space */
-        base = (void *) mmap((caddr_t) 0, 65536, PROT_READ | PROT_WRITE,
-                             MAP_FLAGS, fd, (off_t) 0x0000);
-
-        if (base != (void *) -1) {
-            IOPortBase = base;
-        }
-        else {
-            xf86Msg(X_ERROR,
-                    "EnableIOPorts: failed to mmap %s (%s)\n",
-                    "/dev/ttyC0", strerror(errno));
-        }
-    }
-    else {
-        xf86Msg(X_ERROR, "EnableIOPorts: failed to open %s (%s)\n",
-                "/dev/ttyC0", strerror(errno));
-    }
-#endif
-
-#ifdef __arm32__
-    IOPortBase = (unsigned int) -1;
-
-    if ((memInfoP = checkMapInfo(TRUE, MMIO_REGION)) != NULL) {
-        /* 
-         * xf86MapInfoMap maps an offset from the start of video IO
-         * space (e.g. 0x3B0), but IOPortBase is expected to map to
-         * physical address 0x000, so subtract the start of video I/O
-         * space from the result.  This is safe for now becase we
-         * actually mmap the start of the page, then the start of video
-         * I/O space is added as an internal offset.
-         */
-        IOPortBase = (unsigned int) xf86MapInfoMap(memInfoP, (caddr_t) 0x0, 0L)
-            - memInfoP->memInfo.u.map_info_mmap.internal_offset;
-        ExtendedEnabled = TRUE;
-        return TRUE;
-    }
-#ifdef USE_ARM32_MMAP
-    checkDevMem(TRUE);
-
-    if (devMemFd >= 0 && useDevMem) {
-        base = (void *) mmap((caddr_t) 0, 0x400, PROT_READ | PROT_WRITE,
-                              MAP_FLAGS, devMemFd, (off_t) DEV_MEM_IOBASE);
-
-        if (base != (void *) -1)
-            IOPortBase = (unsigned int) base;
-    }
-
-    if (IOPortBase == (unsigned int) -1) {
-        xf86Msg(X_WARNING,
-                "xf86EnableIOPorts: failed to open mem device or map IO base. \n\
-Make sure you have the Aperture Driver installed, or a kernel built with the INSECURE option\n");
-        return FALSE;
-    }
-#else
-    /* We don't have the IOBASE, so we can't map the address */
-    xf86Msg(X_WARNING,
-            "xf86EnableIOPorts: failed to open mem device or map IO base. \n\
-Try building the server with USE_ARM32_MMAP defined\n");
-    return FALSE;
-#endif
-#endif
-
-    ExtendedEnabled = TRUE;
-
-    return TRUE;
-}
-
-void
-xf86DisableIOPorts(ScreenNum)
-int ScreenNum;
-{
-    int i;
-
-#ifdef __arm32__
-    struct memAccess *memInfoP;
-#endif
-
-    ScreenEnabled[ScreenNum] = FALSE;
-
-#ifdef __arm32__
-    if ((memInfoP = checkMapInfo(FALSE, MMIO_REGION)) != NULL) {
-        xf86MapInfoUnmap(memInfoP, 0);
-    }
-#endif
-
-#ifdef USE_ARM32_MMAP
-    if (!ExtendedEnabled)
-        return;
-
-    for (i = 0; i < MAXSCREENS; i++)
-        if (ScreenEnabled[i])
-            return;
-
-    munmap((caddr_t) IOPortBase, 0x400);
-    IOPortBase = (unsigned int) -1;
-    ExtendedEnabled = FALSE;
-#endif
-
-    return;
-}
-
-#endif                          /* USE_ARC_MMAP || USE_ARM32_MMAP */
-#endif


More information about the xorg-commit mailing list