From 5152fea67554f9fe8a6fcd194f88e31a47ec1381 Mon Sep 17 00:00:00 2001 From: Adam Jackson Date: Wed, 21 May 2014 09:49:56 -0400 Subject: [PATCH 1/2] Use own thunk functions instead of fbdevHW*Weak I plan to remove the Weak functions from a future server. Signed-off-by: Adam Jackson --- src/fbdev.c | 86 ++++++++++++++++++++++++++++++++++++++++++++++++++----------- 1 file changed, 71 insertions(+), 15 deletions(-) diff --git a/src/fbdev.c b/src/fbdev.c index 2bbee6e..23ec855 100644 --- a/src/fbdev.c +++ b/src/fbdev.c @@ -269,6 +269,35 @@ FBDevIdentify(int flags) xf86PrintChipsets(FBDEV_NAME, "driver for framebuffer", FBDevChipsets); } +static Bool +fbdevSwitchMode(ScrnInfoPtr pScrn, DisplayModePtr mode) +{ + return fbdevHWSwitchMode(pScrn, mode); +} + +static void +fbdevAdjustFrame(ScrnInfoPtr pScrn, int x, int y) +{ + fbdevHWAdjustFrame(pScrn, x, y); +} + +static Bool +fbdevEnterVT(ScrnInfoPtr pScrn) +{ + return fbdevHWEnterVT(pScrn); +} + +static void +fbdevLeaveVT(ScrnInfoPtr pScrn) +{ + fbdevHWLeaveVT(pScrn); +} + +static ModeStatus +fbdevValidMode(ScrnInfoPtr pScrn, DisplayModePtr mode, Bool verbose, int flags) +{ + return fbdevHWValidMode(pScrn, mode, verbose, flags); +} #ifdef XSERVER_LIBPCIACCESS static Bool FBDevPciProbe(DriverPtr drv, int entity_num, @@ -294,11 +323,11 @@ static Bool FBDevPciProbe(DriverPtr drv, int entity_num, pScrn->Probe = FBDevProbe; pScrn->PreInit = FBDevPreInit; pScrn->ScreenInit = FBDevScreenInit; - pScrn->SwitchMode = fbdevHWSwitchModeWeak(); - pScrn->AdjustFrame = fbdevHWAdjustFrameWeak(); - pScrn->EnterVT = fbdevHWEnterVTWeak(); - pScrn->LeaveVT = fbdevHWLeaveVTWeak(); - pScrn->ValidMode = fbdevHWValidModeWeak(); + pScrn->SwitchMode = fbdevSwitchMode; + pScrn->AdjustFrame = fbdevAdjustFrame; + pScrn->EnterVT = fbdevEnterVT; + pScrn->LeaveVT = fbdevLeaveVT; + pScrn->ValidMode = fbdevValidMode; xf86DrvMsg(pScrn->scrnIndex, X_CONFIG, "claimed PCI slot %d@%d:%d:%d\n", @@ -411,11 +440,11 @@ FBDevProbe(DriverPtr drv, int flags) pScrn->Probe = FBDevProbe; pScrn->PreInit = FBDevPreInit; pScrn->ScreenInit = FBDevScreenInit; - pScrn->SwitchMode = fbdevHWSwitchModeWeak(); - pScrn->AdjustFrame = fbdevHWAdjustFrameWeak(); - pScrn->EnterVT = fbdevHWEnterVTWeak(); - pScrn->LeaveVT = fbdevHWLeaveVTWeak(); - pScrn->ValidMode = fbdevHWValidModeWeak(); + pScrn->SwitchMode = fbdevSwitchMode; + pScrn->AdjustFrame = fbdevAdjustFrame; + pScrn->EnterVT = fbdevEnterVT; + pScrn->LeaveVT = fbdevLeaveVT; + pScrn->ValidMode = fbdevValidMode; xf86DrvMsg(pScrn->scrnIndex, X_INFO, "using %s\n", dev ? dev : "default device"); @@ -656,6 +685,17 @@ FBDevPreInit(ScrnInfoPtr pScrn, int flags) return TRUE; } +static void +fbdevUpdateRotatePacked(ScreenPtr pScreen, shadowBufPtr pBuf) +{ + shadowUpdateRotatePacked(pScreen, pBuf); +} + +static void +fbdevUpdatePacked(ScreenPtr pScreen, shadowBufPtr pBuf) +{ + shadowUpdatePacked(pScreen, pBuf); +} static Bool FBDevCreateScreenResources(ScreenPtr pScreen) @@ -675,7 +715,7 @@ FBDevCreateScreenResources(ScreenPtr pScreen) pPixmap = pScreen->GetScreenPixmap(pScreen); if (!shadowAdd(pScreen, pPixmap, fPtr->rotate ? - shadowUpdateRotatePackedWeak() : shadowUpdatePackedWeak(), + fbdevUpdateRotatePacked : fbdevUpdatePacked, FBDevWindowLinear, fPtr->rotate, NULL)) { return FALSE; } @@ -699,6 +739,23 @@ FBDevShadowInit(ScreenPtr pScreen) return TRUE; } +static void +fbdevLoadPalette(ScrnInfoPtr pScrn, int num, int *i, LOCO *col, VisualPtr pVis) +{ + fbdevHWLoadPalette(pScrn, num, i, col, pVis); +} + +static void +fbdevDPMSSet(ScrnInfoPtr pScrn, int mode, int flags) +{ + fbdevHWDPMSSet(pScrn, mode, flags); +} + +static Bool +fbdevSaveScreen(ScreenPtr pScreen, int mode) +{ + return fbdevHWSaveScreen(pScreen, mode); +} static Bool FBDevScreenInit(SCREEN_INIT_ARGS_DECL) @@ -1025,13 +1082,12 @@ FBDevScreenInit(SCREEN_INIT_ARGS_DECL) return FALSE; } flags = CMAP_PALETTED_TRUECOLOR; - if(!xf86HandleColormaps(pScreen, 256, 8, fbdevHWLoadPaletteWeak(), - NULL, flags)) + if(!xf86HandleColormaps(pScreen, 256, 8, fbdevLoadPalette, NULL, flags)) return FALSE; - xf86DPMSInit(pScreen, fbdevHWDPMSSetWeak(), 0); + xf86DPMSInit(pScreen, fbdevDPMSSet, 0); - pScreen->SaveScreen = fbdevHWSaveScreenWeak(); + pScreen->SaveScreen = fbdevSaveScreen; /* Wrap the current CloseScreen function */ fPtr->CloseScreen = pScreen->CloseScreen; -- 2.16.2