summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/fbdev.c22
1 files changed, 20 insertions, 2 deletions
diff --git a/src/fbdev.c b/src/fbdev.c
index ed75eaf..15d4431 100644
--- a/src/fbdev.c
+++ b/src/fbdev.c
@@ -57,6 +57,8 @@ static void * FBDevWindowLinear(ScreenPtr pScreen, CARD32 row, CARD32 offset, in
CARD32 *size, void *closure);
static void FBDevPointerMoved(int index, int x, int y);
static Bool FBDevDGAInit(ScrnInfoPtr pScrn, ScreenPtr pScreen);
+static Bool FBDevDriverFunc(ScrnInfoPtr pScrn, xorgDriverFuncOp op,
+ pointer ptr);
enum { FBDEV_ROTATE_NONE=0, FBDEV_ROTATE_CW=270, FBDEV_ROTATE_UD=180, FBDEV_ROTATE_CCW=90 };
@@ -91,7 +93,8 @@ DriverRec FBDEV = {
FBDevProbe,
FBDevAvailableOptions,
NULL,
- 0
+ 0,
+ FBDevDriverFunc
};
/* Supported "chipsets" */
@@ -208,7 +211,7 @@ FBDevSetup(pointer module, pointer opts, int *errmaj, int *errmin)
if (!setupDone) {
setupDone = TRUE;
- xf86AddDriver(&FBDEV, module, 0);
+ xf86AddDriver(&FBDEV, module, HaveDriverFuncs);
LoaderRefSymLists(afbSymbols, fbSymbols,
shadowSymbols, fbdevHWSymbols, NULL);
return (pointer)1;
@@ -1100,3 +1103,18 @@ FBDevDGAInit(ScrnInfoPtr pScrn, ScreenPtr pScreen)
return (DGAInit(pScreen, &FBDevDGAFunctions,
fPtr->pDGAMode, fPtr->nDGAMode));
}
+
+static Bool
+FBDevDriverFunc(ScrnInfoPtr pScrn, xorgDriverFuncOp op, pointer ptr)
+{
+ xorgHWFlags *flag;
+
+ switch (op) {
+ case GET_REQUIRED_HW_INTERFACES:
+ flag = (CARD32*)ptr;
+ (*flag) = 0;
+ return TRUE;
+ default:
+ return FALSE;
+ }
+}