summaryrefslogtreecommitdiff
path: root/hw/xfree86/common
diff options
context:
space:
mode:
Diffstat (limited to 'hw/xfree86/common')
-rw-r--r--hw/xfree86/common/xf86platformBus.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/hw/xfree86/common/xf86platformBus.c b/hw/xfree86/common/xf86platformBus.c
index 23dffc9d6..f87760b63 100644
--- a/hw/xfree86/common/xf86platformBus.c
+++ b/hw/xfree86/common/xf86platformBus.c
@@ -536,12 +536,20 @@ xf86platformProbeDev(DriverPtr drvp)
/* find the main device or any device specificed in xorg.conf */
for (i = 0; i < numDevs; i++) {
+ const char *devpath;
+
/* skip inactive devices */
if (!devList[i]->active)
continue;
+ /* This is specific to modesetting. */
+ devpath = xf86FindOptionValue(devList[i]->options, "kmsdev");
+
for (j = 0; j < xf86_num_platform_devices; j++) {
- if (devList[i]->busID && *devList[i]->busID) {
+ if (devpath && *devpath) {
+ if (strcmp(xf86_platform_devices[j].attribs->path, devpath) == 0)
+ break;
+ } else if (devList[i]->busID && *devList[i]->busID) {
if (xf86PlatformDeviceCheckBusID(&xf86_platform_devices[j], devList[i]->busID))
break;
}