|
|
82b592 |
From 42351690f5a4999bfe7370eb3c496f74f635c709 Mon Sep 17 00:00:00 2001
|
|
|
82b592 |
From: Hans de Goede <hdegoede@redhat.com>
|
|
|
82b592 |
Date: Mon, 8 Aug 2016 14:38:54 +0200
|
|
|
82b592 |
Subject: [PATCH xserver] Fix Xorg -configure not working anymore
|
|
|
82b592 |
|
|
|
82b592 |
Xorg -configure relies on the bus implementation, e.g.
|
|
|
82b592 |
xf86pciBus.c to call xf86AddBusDeviceToConfigure(). The new
|
|
|
82b592 |
xf86platformBus code does not have support for this.
|
|
|
82b592 |
|
|
|
82b592 |
Almost all drivers support both the xf86platformBus and xf86pciBus
|
|
|
82b592 |
nowadays, and the generic xf86Bus xf86CallDriverProbe() function
|
|
|
82b592 |
prefers the new xf86platformBus probe method when available.
|
|
|
82b592 |
|
|
|
82b592 |
Since the platformBus paths do not call xf86AddBusDeviceToConfigure()
|
|
|
82b592 |
this results in Xorg -configure failing with the following error:
|
|
|
82b592 |
"No devices to configure. Configuration failed.".
|
|
|
82b592 |
|
|
|
82b592 |
Adding support for the xf86Configure code to xf86platformBus.c
|
|
|
82b592 |
is non trivial and since we advise users to normally run without
|
|
|
82b592 |
any Xorg.conf at all not worth the trouble.
|
|
|
82b592 |
|
|
|
82b592 |
However some users still want to use Xorg -configure to generate a
|
|
|
82b592 |
template config file, this commit implements a minimal fix to make
|
|
|
82b592 |
things work again for PCI devices by skipping the platform
|
|
|
82b592 |
probe method when xf86DoConfigure is set.
|
|
|
82b592 |
|
|
|
82b592 |
This has been tested on a system with integrated intel graphics,
|
|
|
82b592 |
with both the intel and modesetting drivers and restores Xorg -configure
|
|
|
82b592 |
functionality on both cases.
|
|
|
82b592 |
|
|
|
82b592 |
Cc: Adam Jackson <ajax@redhat.com>
|
|
|
82b592 |
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
|
|
|
82b592 |
---
|
|
|
82b592 |
hw/xfree86/common/xf86Bus.c | 3 ++-
|
|
|
82b592 |
1 file changed, 2 insertions(+), 1 deletion(-)
|
|
|
82b592 |
|
|
|
82b592 |
diff --git a/hw/xfree86/common/xf86Bus.c b/hw/xfree86/common/xf86Bus.c
|
|
|
82b592 |
index bd36fc5..5b93940 100644
|
|
|
82b592 |
--- a/hw/xfree86/common/xf86Bus.c
|
|
|
82b592 |
+++ b/hw/xfree86/common/xf86Bus.c
|
|
|
82b592 |
@@ -78,7 +78,8 @@ xf86CallDriverProbe(DriverPtr drv, Bool detect_only)
|
|
|
82b592 |
Bool foundScreen = FALSE;
|
|
|
82b592 |
|
|
|
82b592 |
#ifdef XSERVER_PLATFORM_BUS
|
|
|
82b592 |
- if (drv->platformProbe != NULL) {
|
|
|
82b592 |
+ /* xf86platformBus.c does not support Xorg -configure */
|
|
|
82b592 |
+ if (!xf86DoConfigure && drv->platformProbe != NULL) {
|
|
|
82b592 |
foundScreen = xf86platformProbeDev(drv);
|
|
|
82b592 |
}
|
|
|
82b592 |
if (ServerIsNotSeat0() && foundScreen)
|
|
|
82b592 |
--
|
|
|
82b592 |
2.7.4
|
|
|
82b592 |
|