diff options
author | Egbert Eich <eich@suse.de> | 2005-01-28 16:12:59 +0000 |
---|---|---|
committer | Egbert Eich <eich@suse.de> | 2005-01-28 16:12:59 +0000 |
commit | 82ab7895da512d13c9831e9d17e8ee11211db2c0 (patch) | |
tree | 697fd417b2d0df8cd2d5f89b9977b507ba3bc622 /src | |
parent | 077e3dbcf41e25229b2a4949bc6b50adf26b084d (diff) | |
download | xorg-driver-xf86-video-fbdev-sco_port_update.tar.gz |
Modifying X.Org Xserver DDX to allow to run X with ordinary usersco_port_update-baseXORG-6_8_99_9XORG-6_8_99_8XORG-6_8_99_7XORG-6_8_99_6XORG-6_8_99_5XORG-6_8_99_4XORG-6_8_99_3XORG-6_8_99_2XORG-6_8_99_12XORG-6_8_99_11XORG-6_8_99_10XORG-6_8_99_1sco_port_update
permissions when no access to HW registers is required. For API changes
which mostly involve the modifications to make the RRFunc (introduced
with 6.8) more flexible please check Bugzilla #2407. NOTE: This patch
applies changes to OS specific files for other OSes which I cannot
test.
Diffstat (limited to 'src')
-rw-r--r-- | src/fbdev.c | 22 |
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; + } +} |