Module Name:    xsrc
Committed By:   macallan
Date:           Fri Jun 10 01:38:31 UTC 2011

Modified Files:
        xsrc/external/mit/xf86-video-suncg6/dist/src: cg6_driver.c

Log Message:
add a driverFunc to tell the Xserver that this driver doesn't need PIO access
Now this works again on sparc64.


To generate a diff of this commit:
cvs rdiff -u -r1.5 -r1.6 \
    xsrc/external/mit/xf86-video-suncg6/dist/src/cg6_driver.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: xsrc/external/mit/xf86-video-suncg6/dist/src/cg6_driver.c
diff -u xsrc/external/mit/xf86-video-suncg6/dist/src/cg6_driver.c:1.5 xsrc/external/mit/xf86-video-suncg6/dist/src/cg6_driver.c:1.6
--- xsrc/external/mit/xf86-video-suncg6/dist/src/cg6_driver.c:1.5	Wed Apr 13 15:47:03 2011
+++ xsrc/external/mit/xf86-video-suncg6/dist/src/cg6_driver.c	Fri Jun 10 01:38:31 2011
@@ -61,7 +61,8 @@
 static ModeStatus CG6ValidMode(int scrnIndex, DisplayModePtr mode,
 			       Bool verbose, int flags);
 
-void CG6Sync(ScrnInfoPtr pScrn);
+static Bool CG6DriverFunc(ScrnInfoPtr pScrn, xorgDriverFuncOp op,
+				pointer ptr);
 
 #define CG6_VERSION 4000
 #define CG6_NAME "SUNCG6"
@@ -85,7 +86,8 @@
     CG6Probe,
     CG6AvailableOptions,
     NULL,
-    0
+    0,
+    CG6DriverFunc
 };
 
 typedef enum {
@@ -136,7 +138,7 @@
 
     if (!setupDone) {
 	setupDone = TRUE;
-	xf86AddDriver(&SUNCG6, module, 0);
+	xf86AddDriver(&SUNCG6, module, HaveDriverFuncs);
 
 	/*
 	 * Modules that this driver always requires can be loaded here
@@ -752,11 +754,19 @@
     return TRUE;
 }
 
-/*
- * This is the implementation of the Sync() function.
- */
-void
-CG6Sync(ScrnInfoPtr pScrn)
+static Bool
+CG6DriverFunc(ScrnInfoPtr pScrn, xorgDriverFuncOp op,
+    pointer ptr)
 {
-    return;
+	xorgHWFlags *flag;
+
+	switch (op) {
+	case GET_REQUIRED_HW_INTERFACES:
+		flag = (CARD32*)ptr;
+		(*flag) = HW_MMIO;
+		return TRUE;
+	default:
+		return FALSE;
+	}
 }
+

Reply via email to