Blame SOURCES/0001-mustard-Enable-linking-with-z-now.patch

7bf30d
From 9a151d87fb084a914ad76f77be78f720448fa201 Mon Sep 17 00:00:00 2001
7bf30d
From: Adam Jackson <ajax@redhat.com>
7bf30d
Date: Tue, 25 Jan 2022 13:37:14 -0500
7bf30d
Subject: [PATCH xf86-video-fbdev] mustard: Enable linking with -z now
7bf30d
7bf30d
The xfree86 design loads the fb, fbdev, and shadow modules _after_ the
7bf30d
driver is loaded, which means we need to dlsym^WLoaderSymbol for the API
7bf30d
we need ourselves.
7bf30d
---
7bf30d
 src/fbdev.c | 152 ++++++++++++++++++++++++++++++++++++++--------------
7bf30d
 1 file changed, 113 insertions(+), 39 deletions(-)
7bf30d
7bf30d
diff --git a/src/fbdev.c b/src/fbdev.c
7bf30d
index e4f66a2..ee3a716 100644
7bf30d
--- a/src/fbdev.c
7bf30d
+++ b/src/fbdev.c
7bf30d
@@ -77,6 +77,75 @@ static Bool	FBDevDriverFunc(ScrnInfoPtr pScrn, xorgDriverFuncOp op,
7bf30d
 
7bf30d
 enum { FBDEV_ROTATE_NONE=0, FBDEV_ROTATE_CW=270, FBDEV_ROTATE_UD=180, FBDEV_ROTATE_CCW=90 };
7bf30d
 
7bf30d
+static typeof(fbdevHWAdjustFrame) *my_fbdevHWAdjustFrame;
7bf30d
+static typeof(fbdevHWDPMSSet) *my_fbdevHWDPMSSet;
7bf30d
+static typeof(fbdevHWEnterVT) *my_fbdevHWEnterVT;
7bf30d
+static typeof(fbdevHWGetDepth) *my_fbdevHWGetDepth;
7bf30d
+static typeof(fbdevHWGetLineLength) *my_fbdevHWGetLineLength;
7bf30d
+static typeof(fbdevHWGetName) *my_fbdevHWGetName;
7bf30d
+static typeof(fbdevHWGetType) *my_fbdevHWGetType;
7bf30d
+static typeof(fbdevHWGetVidmem) *my_fbdevHWGetVidmem;
7bf30d
+static typeof(fbdevHWInit) *my_fbdevHWInit;
7bf30d
+static typeof(fbdevHWLeaveVT) *my_fbdevHWLeaveVT;
7bf30d
+static typeof(fbdevHWLinearOffset) *my_fbdevHWLinearOffset;
7bf30d
+static typeof(fbdevHWLoadPalette) *my_fbdevHWLoadPalette;
7bf30d
+static typeof(fbdevHWMapVidmem) *my_fbdevHWMapVidmem;
7bf30d
+static typeof(fbdevHWModeInit) *my_fbdevHWModeInit;
7bf30d
+static typeof(fbdevHWProbe) *my_fbdevHWProbe;
7bf30d
+static typeof(fbdevHWRestore) *my_fbdevHWRestore;
7bf30d
+static typeof(fbdevHWSave) *my_fbdevHWSave;
7bf30d
+static typeof(fbdevHWSaveScreen) *my_fbdevHWSaveScreen;
7bf30d
+static typeof(fbdevHWSetVideoModes) *my_fbdevHWSetVideoModes;
7bf30d
+static typeof(fbdevHWSwitchMode) *my_fbdevHWSwitchMode;
7bf30d
+static typeof(fbdevHWUnmapVidmem) *my_fbdevHWUnmapVidmem;
7bf30d
+static typeof(fbdevHWUseBuildinMode) *my_fbdevHWUseBuildinMode;
7bf30d
+static typeof(fbdevHWValidMode) *my_fbdevHWValidMode;
7bf30d
+
7bf30d
+static void
7bf30d
+bind_fbdevhw(void)
7bf30d
+{
7bf30d
+    my_fbdevHWAdjustFrame = LoaderSymbol("fbdevHWAdjustFrame");
7bf30d
+    my_fbdevHWDPMSSet = LoaderSymbol("fbdevHWDPMSSet");
7bf30d
+    my_fbdevHWEnterVT = LoaderSymbol("fbdevHWEnterVT");
7bf30d
+    my_fbdevHWGetDepth = LoaderSymbol("fbdevHWGetDepth");
7bf30d
+    my_fbdevHWGetLineLength = LoaderSymbol("fbdevHWGetLineLength");
7bf30d
+    my_fbdevHWGetName = LoaderSymbol("fbdevHWGetName");
7bf30d
+    my_fbdevHWGetType = LoaderSymbol("fbdevHWGetType");
7bf30d
+    my_fbdevHWGetVidmem = LoaderSymbol("fbdevHWGetVidmem");
7bf30d
+    my_fbdevHWInit = LoaderSymbol("fbdevHWInit");
7bf30d
+    my_fbdevHWLeaveVT = LoaderSymbol("fbdevHWLeaveVT");
7bf30d
+    my_fbdevHWLinearOffset = LoaderSymbol("fbdevHWLinearOffset");
7bf30d
+    my_fbdevHWLoadPalette = LoaderSymbol("fbdevHWLoadPalette");
7bf30d
+    my_fbdevHWMapVidmem = LoaderSymbol("fbdevHWMapVidmem");
7bf30d
+    my_fbdevHWModeInit = LoaderSymbol("fbdevHWModeInit");
7bf30d
+    my_fbdevHWProbe = LoaderSymbol("fbdevHWProbe");
7bf30d
+    my_fbdevHWRestore = LoaderSymbol("fbdevHWRestore");
7bf30d
+    my_fbdevHWSave = LoaderSymbol("fbdevHWSave");
7bf30d
+    my_fbdevHWSaveScreen = LoaderSymbol("fbdevHWSaveScreen");
7bf30d
+    my_fbdevHWSetVideoModes = LoaderSymbol("fbdevHWSetVideoModes");
7bf30d
+    my_fbdevHWSwitchMode = LoaderSymbol("fbdevHWSwitchMode");
7bf30d
+    my_fbdevHWUnmapVidmem = LoaderSymbol("fbdevHWUnmapVidmem");
7bf30d
+    my_fbdevHWUseBuildinMode = LoaderSymbol("fbdevHWUseBuildinMode");
7bf30d
+    my_fbdevHWValidMode = LoaderSymbol("fbdevHWValidMode");
7bf30d
+}
7bf30d
+
7bf30d
+static typeof(shadowAdd) *my_shadowAdd;
7bf30d
+static typeof(shadowRemove) *my_shadowRemove;
7bf30d
+static typeof(shadowSetup) *my_shadowSetup;
7bf30d
+static typeof(shadowUpdate32to24) *my_shadowUpdate32to24;
7bf30d
+static typeof(shadowUpdatePacked) *my_shadowUpdatePacked;
7bf30d
+static typeof(shadowUpdateRotatePacked) *my_shadowUpdateRotatePacked;
7bf30d
+
7bf30d
+static void
7bf30d
+bind_shadow(void)
7bf30d
+{
7bf30d
+    my_shadowAdd = LoaderSymbol("shadowAdd");
7bf30d
+    my_shadowRemove = LoaderSymbol("shadowRemove");
7bf30d
+    my_shadowSetup = LoaderSymbol("shadowSetup");
7bf30d
+    my_shadowUpdate32to24 = LoaderSymbol("shadowUpdate32to24");
7bf30d
+    my_shadowUpdatePacked = LoaderSymbol("shadowUpdatePacked");
7bf30d
+    my_shadowUpdateRotatePacked = LoaderSymbol("shadowUpdateRotatePacked");
7bf30d
+}
7bf30d
 
7bf30d
 /* -------------------------------------------------------------------- */
7bf30d
 
7bf30d
@@ -235,31 +304,31 @@ FBDevIdentify(int flags)
7bf30d
 static Bool
7bf30d
 fbdevSwitchMode(ScrnInfoPtr pScrn, DisplayModePtr mode)
7bf30d
 {
7bf30d
-    return fbdevHWSwitchMode(pScrn, mode);
7bf30d
+    return my_fbdevHWSwitchMode(pScrn, mode);
7bf30d
 }
7bf30d
 
7bf30d
 static void
7bf30d
 fbdevAdjustFrame(ScrnInfoPtr pScrn, int x, int y)
7bf30d
 {
7bf30d
-    fbdevHWAdjustFrame(pScrn, x, y);
7bf30d
+    my_fbdevHWAdjustFrame(pScrn, x, y);
7bf30d
 }
7bf30d
 
7bf30d
 static Bool
7bf30d
 fbdevEnterVT(ScrnInfoPtr pScrn)
7bf30d
 {
7bf30d
-    return fbdevHWEnterVT(pScrn);
7bf30d
+    return my_fbdevHWEnterVT(pScrn);
7bf30d
 }
7bf30d
 
7bf30d
 static void
7bf30d
 fbdevLeaveVT(ScrnInfoPtr pScrn)
7bf30d
 {
7bf30d
-    fbdevHWLeaveVT(pScrn);
7bf30d
+    my_fbdevHWLeaveVT(pScrn);
7bf30d
 }
7bf30d
 
7bf30d
 static ModeStatus
7bf30d
 fbdevValidMode(ScrnInfoPtr pScrn, DisplayModePtr mode, Bool verbose, int flags)
7bf30d
 {
7bf30d
-    return fbdevHWValidMode(pScrn, mode, verbose, flags);
7bf30d
+    return my_fbdevHWValidMode(pScrn, mode, verbose, flags);
7bf30d
 }
7bf30d
 
7bf30d
 #ifdef XSERVER_LIBPCIACCESS
7bf30d
@@ -270,6 +339,7 @@ static Bool FBDevPciProbe(DriverPtr drv, int entity_num,
7bf30d
 
7bf30d
     if (!xf86LoadDrvSubModule(drv, "fbdevhw"))
7bf30d
 	return FALSE;
7bf30d
+    bind_fbdevhw();
7bf30d
 	    
7bf30d
     pScrn = xf86ConfigPciEntity(NULL, 0, entity_num, NULL, NULL,
7bf30d
 				NULL, NULL, NULL, NULL);
7bf30d
@@ -279,7 +349,7 @@ static Bool FBDevPciProbe(DriverPtr drv, int entity_num,
7bf30d
 						  pScrn->entityInstanceList[0]);
7bf30d
 
7bf30d
 	device = xf86FindOptionValue(devSection->options, "fbdev");
7bf30d
-	if (fbdevHWProbe(dev, device, NULL)) {
7bf30d
+	if (my_fbdevHWProbe(dev, device, NULL)) {
7bf30d
 	    pScrn->driverVersion = FBDEV_VERSION;
7bf30d
 	    pScrn->driverName    = FBDEV_DRIVER_NAME;
7bf30d
 	    pScrn->name          = FBDEV_NAME;
7bf30d
@@ -332,7 +402,8 @@ FBDevProbe(DriverPtr drv, int flags)
7bf30d
 	
7bf30d
 	if (!xf86LoadDrvSubModule(drv, "fbdevhw"))
7bf30d
 	    return FALSE;
7bf30d
-	    
7bf30d
+        bind_fbdevhw();
7bf30d
+
7bf30d
 	for (i = 0; i < numDevSections; i++) {
7bf30d
 	    Bool isIsa = FALSE;
7bf30d
 	    Bool isPci = FALSE;
7bf30d
@@ -355,7 +426,7 @@ FBDevProbe(DriverPtr drv, int flags)
7bf30d
 		    0;
7bf30d
 		  
7bf30d
 	    }
7bf30d
-	    if (fbdevHWProbe(NULL,dev,NULL)) {
7bf30d
+	    if (my_fbdevHWProbe(NULL,dev,NULL)) {
7bf30d
 		pScrn = NULL;
7bf30d
 		if (isPci) {
7bf30d
 #ifndef XSERVER_LIBPCIACCESS
7bf30d
@@ -459,11 +530,11 @@ FBDevPreInit(ScrnInfoPtr pScrn, int flags)
7bf30d
 	    pci_dev = fPtr->pEnt->location.id.pci;
7bf30d
 #endif
7bf30d
 	/* open device */
7bf30d
-	if (!fbdevHWInit(pScrn, pci_dev,
7bf30d
+	if (!my_fbdevHWInit(pScrn, pci_dev,
7bf30d
 			 xf86FindOptionValue(fPtr->pEnt->device->options,
7bf30d
 					     "fbdev")))
7bf30d
 		return FALSE;
7bf30d
-	default_depth = fbdevHWGetDepth(pScrn,&fbbpp);
7bf30d
+	default_depth = my_fbdevHWGetDepth(pScrn,&fbbpp);
7bf30d
 
7bf30d
 	if (default_depth == 8) do {
7bf30d
 	    /* trust the command line */
7bf30d
@@ -531,10 +602,10 @@ FBDevPreInit(ScrnInfoPtr pScrn, int flags)
7bf30d
 	pScrn->progClock = TRUE;
7bf30d
 	pScrn->rgbBits   = 8;
7bf30d
 	pScrn->chipset   = "fbdev";
7bf30d
-	pScrn->videoRam  = fbdevHWGetVidmem(pScrn);
7bf30d
+	pScrn->videoRam  = my_fbdevHWGetVidmem(pScrn);
7bf30d
 
7bf30d
 	xf86DrvMsg(pScrn->scrnIndex, X_INFO, "hardware: %s (video memory:"
7bf30d
-		   " %dkB)\n", fbdevHWGetName(pScrn), pScrn->videoRam/1024);
7bf30d
+		   " %dkB)\n", my_fbdevHWGetName(pScrn), pScrn->videoRam/1024);
7bf30d
 
7bf30d
 	/* handle options */
7bf30d
 	xf86CollectOptions(pScrn, NULL);
7bf30d
@@ -591,7 +662,7 @@ FBDevPreInit(ScrnInfoPtr pScrn, int flags)
7bf30d
 	/* select video modes */
7bf30d
 
7bf30d
 	xf86DrvMsg(pScrn->scrnIndex, X_INFO, "checking modes against framebuffer device...\n");
7bf30d
-	fbdevHWSetVideoModes(pScrn);
7bf30d
+	my_fbdevHWSetVideoModes(pScrn);
7bf30d
 
7bf30d
 	xf86DrvMsg(pScrn->scrnIndex, X_INFO, "checking modes against monitor...\n");
7bf30d
 	{
7bf30d
@@ -606,7 +677,7 @@ FBDevPreInit(ScrnInfoPtr pScrn, int flags)
7bf30d
 	}
7bf30d
 
7bf30d
 	if (NULL == pScrn->modes)
7bf30d
-		fbdevHWUseBuildinMode(pScrn);
7bf30d
+		my_fbdevHWUseBuildinMode(pScrn);
7bf30d
 	pScrn->currentMode = pScrn->modes;
7bf30d
 
7bf30d
 	/* First approximation, may be refined in ScreenInit */
7bf30d
@@ -618,7 +689,7 @@ FBDevPreInit(ScrnInfoPtr pScrn, int flags)
7bf30d
 	xf86SetDpi(pScrn, 0, 0);
7bf30d
 
7bf30d
 	/* Load bpp-specific modules */
7bf30d
-	switch ((type = fbdevHWGetType(pScrn)))
7bf30d
+	switch ((type = my_fbdevHWGetType(pScrn)))
7bf30d
 	{
7bf30d
 	case FBDEVHW_PACKED_PIXELS:
7bf30d
 		switch (pScrn->bitsPerPixel)
7bf30d
@@ -671,6 +742,7 @@ FBDevPreInit(ScrnInfoPtr pScrn, int flags)
7bf30d
 			FBDevFreeRec(pScrn);
7bf30d
 			return FALSE;
7bf30d
 		}
7bf30d
+                bind_shadow();
7bf30d
 	}
7bf30d
 
7bf30d
 	TRACE_EXIT("PreInit");
7bf30d
@@ -681,20 +753,20 @@ static void
7bf30d
 fbdevUpdate32to24(ScreenPtr pScreen, shadowBufPtr pBuf)
7bf30d
 {
7bf30d
 #ifdef HAVE_SHADOW_3224
7bf30d
-    shadowUpdate32to24(pScreen, pBuf);
7bf30d
+    my_shadowUpdate32to24(pScreen, pBuf);
7bf30d
 #endif
7bf30d
 }
7bf30d
 
7bf30d
 static void
7bf30d
 fbdevUpdateRotatePacked(ScreenPtr pScreen, shadowBufPtr pBuf)
7bf30d
 {
7bf30d
-    shadowUpdateRotatePacked(pScreen, pBuf);
7bf30d
+    my_shadowUpdateRotatePacked(pScreen, pBuf);
7bf30d
 }
7bf30d
 
7bf30d
 static void
7bf30d
 fbdevUpdatePacked(ScreenPtr pScreen, shadowBufPtr pBuf)
7bf30d
 {
7bf30d
-    shadowUpdatePacked(pScreen, pBuf);
7bf30d
+    my_shadowUpdatePacked(pScreen, pBuf);
7bf30d
 }
7bf30d
 
7bf30d
 static Bool
7bf30d
@@ -722,7 +794,7 @@ FBDevCreateScreenResources(ScreenPtr pScreen)
7bf30d
     else
7bf30d
         update = fbdevUpdatePacked;
7bf30d
 
7bf30d
-    if (!shadowAdd(pScreen, pPixmap, update, FBDevWindowLinear, fPtr->rotate,
7bf30d
+    if (!my_shadowAdd(pScreen, pPixmap, update, FBDevWindowLinear, fPtr->rotate,
7bf30d
                    NULL)) {
7bf30d
 	return FALSE;
7bf30d
     }
7bf30d
@@ -736,7 +808,7 @@ FBDevShadowInit(ScreenPtr pScreen)
7bf30d
     ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
7bf30d
     FBDevPtr fPtr = FBDEVPTR(pScrn);
7bf30d
     
7bf30d
-    if (!shadowSetup(pScreen)) {
7bf30d
+    if (!my_shadowSetup(pScreen)) {
7bf30d
 	return FALSE;
7bf30d
     }
7bf30d
 
7bf30d
@@ -749,19 +821,19 @@ FBDevShadowInit(ScreenPtr pScreen)
7bf30d
 static void
7bf30d
 fbdevLoadPalette(ScrnInfoPtr pScrn, int num, int *i, LOCO *col, VisualPtr pVis)
7bf30d
 {
7bf30d
-    fbdevHWLoadPalette(pScrn, num, i, col, pVis);
7bf30d
+    my_fbdevHWLoadPalette(pScrn, num, i, col, pVis);
7bf30d
 }
7bf30d
 
7bf30d
 static void
7bf30d
 fbdevDPMSSet(ScrnInfoPtr pScrn, int mode, int flags)
7bf30d
 {
7bf30d
-    fbdevHWDPMSSet(pScrn, mode, flags);
7bf30d
+    my_fbdevHWDPMSSet(pScrn, mode, flags);
7bf30d
 }
7bf30d
 
7bf30d
 static Bool
7bf30d
 fbdevSaveScreen(ScreenPtr pScreen, int mode)
7bf30d
 {
7bf30d
-    return fbdevHWSaveScreen(pScreen, mode);
7bf30d
+    return my_fbdevHWSaveScreen(pScreen, mode);
7bf30d
 }
7bf30d
 
7bf30d
 static Bool
7bf30d
@@ -773,6 +845,8 @@ FBDevScreenInit(SCREEN_INIT_ARGS_DECL)
7bf30d
 	int init_picture = 0;
7bf30d
 	int ret, flags;
7bf30d
 	int type;
7bf30d
+        typeof(fbScreenInit) *my_fbScreenInit = LoaderSymbol("fbScreenInit");
7bf30d
+        typeof(fbPictureInit) *my_fbPictureInit = LoaderSymbol("fbPictureInit");
7bf30d
 
7bf30d
 	TRACE_ENTER("FBDevScreenInit");
7bf30d
 
7bf30d
@@ -786,21 +860,21 @@ FBDevScreenInit(SCREEN_INIT_ARGS_DECL)
7bf30d
 	       pScrn->offset.red,pScrn->offset.green,pScrn->offset.blue);
7bf30d
 #endif
7bf30d
 
7bf30d
-	if (NULL == (fPtr->fbmem = fbdevHWMapVidmem(pScrn))) {
7bf30d
+	if (NULL == (fPtr->fbmem = my_fbdevHWMapVidmem(pScrn))) {
7bf30d
 	        xf86DrvMsg(pScrn->scrnIndex,X_ERROR,"mapping of video memory"
7bf30d
 			   " failed\n");
7bf30d
 		return FALSE;
7bf30d
 	}
7bf30d
-	fPtr->fboff = fbdevHWLinearOffset(pScrn);
7bf30d
+	fPtr->fboff = my_fbdevHWLinearOffset(pScrn);
7bf30d
 
7bf30d
-	fbdevHWSave(pScrn);
7bf30d
+	my_fbdevHWSave(pScrn);
7bf30d
 
7bf30d
-	if (!fbdevHWModeInit(pScrn, pScrn->currentMode)) {
7bf30d
+	if (!my_fbdevHWModeInit(pScrn, pScrn->currentMode)) {
7bf30d
 		xf86DrvMsg(pScrn->scrnIndex,X_ERROR,"mode initialization failed\n");
7bf30d
 		return FALSE;
7bf30d
 	}
7bf30d
-	fbdevHWSaveScreen(pScreen, SCREEN_SAVER_ON);
7bf30d
-	fbdevHWAdjustFrame(ADJUST_FRAME_ARGS(pScrn, 0, 0));
7bf30d
+	my_fbdevHWSaveScreen(pScreen, SCREEN_SAVER_ON);
7bf30d
+	my_fbdevHWAdjustFrame(ADJUST_FRAME_ARGS(pScrn, 0, 0));
7bf30d
 
7bf30d
 	/* mi layer */
7bf30d
 	miClearVisualTypes();
7bf30d
@@ -834,7 +908,7 @@ FBDevScreenInit(SCREEN_INIT_ARGS_DECL)
7bf30d
 	} else if (!fPtr->shadowFB) {
7bf30d
 		/* FIXME: this doesn't work for all cases, e.g. when each scanline
7bf30d
 			has a padding which is independent from the depth (controlfb) */
7bf30d
-		pScrn->displayWidth = fbdevHWGetLineLength(pScrn) /
7bf30d
+		pScrn->displayWidth = my_fbdevHWGetLineLength(pScrn) /
7bf30d
 				      (pScrn->bitsPerPixel / 8);
7bf30d
 
7bf30d
 		if (pScrn->displayWidth != pScrn->virtualX) {
7bf30d
@@ -862,7 +936,7 @@ FBDevScreenInit(SCREEN_INIT_ARGS_DECL)
7bf30d
 	    }
7bf30d
 	}
7bf30d
 
7bf30d
-	switch ((type = fbdevHWGetType(pScrn)))
7bf30d
+	switch ((type = my_fbdevHWGetType(pScrn)))
7bf30d
 	{
7bf30d
 	case FBDEVHW_PACKED_PIXELS:
7bf30d
 		switch (pScrn->bitsPerPixel) {
7bf30d
@@ -870,7 +944,7 @@ FBDevScreenInit(SCREEN_INIT_ARGS_DECL)
7bf30d
 		case 16:
7bf30d
 		case 24:
7bf30d
 		case 32:
7bf30d
-			ret = fbScreenInit(pScreen, fPtr->shadowFB ? fPtr->shadow
7bf30d
+			ret = my_fbScreenInit(pScreen, fPtr->shadowFB ? fPtr->shadow
7bf30d
 					   : fPtr->fbstart, pScrn->virtualX,
7bf30d
 					   pScrn->virtualY, pScrn->xDpi,
7bf30d
 					   pScrn->yDpi, pScrn->displayWidth,
7bf30d
@@ -935,7 +1009,7 @@ FBDevScreenInit(SCREEN_INIT_ARGS_DECL)
7bf30d
 	}
7bf30d
 
7bf30d
 	/* must be after RGB ordering fixed */
7bf30d
-	if (init_picture && !fbPictureInit(pScreen, NULL, 0))
7bf30d
+	if (init_picture && !my_fbPictureInit(pScreen, NULL, 0))
7bf30d
 		xf86DrvMsg(pScrn->scrnIndex, X_WARNING,
7bf30d
 			   "Render extension initialisation failed\n");
7bf30d
 
7bf30d
@@ -966,7 +1040,7 @@ FBDevScreenInit(SCREEN_INIT_ARGS_DECL)
7bf30d
 	miDCInitialize(pScreen, xf86GetPointerScreenFuncs());
7bf30d
 
7bf30d
 	/* colormap */
7bf30d
-	switch ((type = fbdevHWGetType(pScrn)))
7bf30d
+	switch ((type = my_fbdevHWGetType(pScrn)))
7bf30d
 	{
7bf30d
 	/* XXX It would be simpler to use miCreateDefColormap() in all cases. */
7bf30d
 	case FBDEVHW_PACKED_PIXELS:
7bf30d
@@ -1032,10 +1106,10 @@ FBDevCloseScreen(CLOSE_SCREEN_ARGS_DECL)
7bf30d
 	ScrnInfoPtr pScrn = xf86ScreenToScrn(pScreen);
7bf30d
 	FBDevPtr fPtr = FBDEVPTR(pScrn);
7bf30d
 	
7bf30d
-	fbdevHWRestore(pScrn);
7bf30d
-	fbdevHWUnmapVidmem(pScrn);
7bf30d
+	my_fbdevHWRestore(pScrn);
7bf30d
+	my_fbdevHWUnmapVidmem(pScrn);
7bf30d
 	if (fPtr->shadow) {
7bf30d
-	    shadowRemove(pScreen, pScreen->GetScreenPixmap(pScreen));
7bf30d
+	    my_shadowRemove(pScreen, pScreen->GetScreenPixmap(pScreen));
7bf30d
 	    free(fPtr->shadow);
7bf30d
 	    fPtr->shadow = NULL;
7bf30d
 	}
7bf30d
@@ -1070,7 +1144,7 @@ FBDevWindowLinear(ScreenPtr pScreen, CARD32 row, CARD32 offset, int mode,
7bf30d
     if (fPtr->lineLength)
7bf30d
       *size = fPtr->lineLength;
7bf30d
     else
7bf30d
-      *size = fPtr->lineLength = fbdevHWGetLineLength(pScrn);
7bf30d
+      *size = fPtr->lineLength = my_fbdevHWGetLineLength(pScrn);
7bf30d
 
7bf30d
     return ((CARD8 *)fPtr->fbstart + row * fPtr->lineLength + offset);
7bf30d
 }
7bf30d
@@ -1225,7 +1299,7 @@ FBDevDGAAddModes(ScrnInfoPtr pScrn)
7bf30d
 	if (fPtr->lineLength)
7bf30d
 	  pDGAMode->bytesPerScanline = fPtr->lineLength;
7bf30d
 	else
7bf30d
-	  pDGAMode->bytesPerScanline = fPtr->lineLength = fbdevHWGetLineLength(pScrn);
7bf30d
+	  pDGAMode->bytesPerScanline = fPtr->lineLength = my_fbdevHWGetLineLength(pScrn);
7bf30d
 
7bf30d
 	pDGAMode->imageWidth = pMode->HDisplay;
7bf30d
 	pDGAMode->imageHeight =  pMode->VDisplay;
7bf30d
-- 
7bf30d
2.34.1
7bf30d