summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdam Jackson <ajax@redhat.com>2012-07-19 22:15:10 +0000
committerDave Airlie <airlied@redhat.com>2012-08-16 10:46:29 +1000
commit2b9531d969e7c106391b509a64c16257a5109fed (patch)
treef3b3c71cb49cedf5550b4b100929a9a8617bb793
parent2802071fa9d421a2998d4971671b5c4275d3d435 (diff)
Implement ->driverFunc
Copied from fbdev, makes it so we can run without iopl. Signed-off-by: Adam Jackson <ajax@redhat.com>
-rw-r--r--src/driver.c19
1 files changed, 18 insertions, 1 deletions
diff --git a/src/driver.c b/src/driver.c
index 371c171..38a1c09 100644
--- a/src/driver.c
+++ b/src/driver.c
@@ -79,6 +79,8 @@ static Bool Probe(DriverPtr drv, int flags);
static Bool ms_pci_probe(DriverPtr driver,
int entity_num, struct pci_device *device,
intptr_t match_data);
+static Bool ms_driver_func(ScrnInfoPtr scrn, xorgDriverFuncOp op,
+ void *data);
#ifdef XSERVER_LIBPCIACCESS
static const struct pci_id_match ms_device_match[] = {
@@ -105,7 +107,7 @@ _X_EXPORT DriverRec modesetting = {
AvailableOptions,
NULL,
0,
- NULL,
+ ms_driver_func,
ms_device_match,
ms_pci_probe,
#ifdef XSERVER_PLATFORM_BUS
@@ -259,6 +261,21 @@ AvailableOptions(int chipid, int busid)
return Options;
}
+static Bool
+ms_driver_func(ScrnInfoPtr scrn, xorgDriverFuncOp op, void *data)
+{
+ xorgHWFlags *flag;
+
+ switch (op) {
+ case GET_REQUIRED_HW_INTERFACES:
+ flag = (CARD32 *)data;
+ (*flag) = 0;
+ return TRUE;
+ default:
+ return FALSE;
+ }
+}
+
#if XSERVER_LIBPCIACCESS
static Bool
ms_pci_probe(DriverPtr driver,