xserver: Branch 'master' - 2 commits

Tiago Vignatti vignatti at kemper.freedesktop.org
Mon Feb 25 12:14:15 PST 2008


 hw/xfree86/common/Makefile.am        |    2 
 hw/xfree86/common/xf86DoScanPci.c    |  147 ---------------------
 hw/xfree86/common/xf86Init.c         |    5 
 hw/xfree86/common/xf86PciInfo.h      |    5 
 hw/xfree86/common/xf86Priv.h         |    4 
 hw/xfree86/common/xf86pciBus.c       |  241 ++++++++++++++++-------------------
 hw/xfree86/doc/devel/Registry        |    1 
 hw/xfree86/doc/man/Xorg.man.pre      |    7 -
 hw/xfree86/doc/man/xorg.conf.man.pre |    6 
 hw/xfree86/dummylib/Makefile.am      |    2 
 hw/xfree86/modes/Makefile.am         |    2 
 hw/xfree86/os-support/bus/Pci.c      |   13 -
 hw/xgl/glx/xglxorg.c                 |    2 
 13 files changed, 125 insertions(+), 312 deletions(-)

New commits:
commit 9727db88d57089be6483104de435626cdbad883a
Author: Tiago Vignatti <vignatti at c3sl.ufpr.br>
Date:   Mon Feb 25 17:08:07 2008 -0300

    No more "-scanpci" given that we already have it in libpciaccess.
    
    (Yeah, lets nuke dead code!)

diff --git a/hw/xfree86/common/Makefile.am b/hw/xfree86/common/Makefile.am
index c060b73..4f0a2d6 100644
--- a/hw/xfree86/common/Makefile.am
+++ b/hw/xfree86/common/Makefile.am
@@ -31,7 +31,7 @@ BUILT_SOURCES = xf86DefModeSet.c
 AM_LDFLAGS = -r
 libcommon_la_SOURCES = xf86Configure.c xf86Bus.c xf86Config.c \
                       xf86Cursor.c xf86cvt.c xf86DGA.c xf86DPMS.c \
-                      xf86DoProbe.c xf86DoScanPci.c xf86Events.c \
+                      xf86DoProbe.c xf86Events.c \
                       xf86Globals.c xf86AutoConfig.c \
                       xf86MiscExt.c xf86Option.c \
                       xf86VidMode.c xf86fbman.c xf86cmap.c \
diff --git a/hw/xfree86/common/xf86DoScanPci.c b/hw/xfree86/common/xf86DoScanPci.c
deleted file mode 100644
index 51892f0..0000000
--- a/hw/xfree86/common/xf86DoScanPci.c
+++ /dev/null
@@ -1,147 +0,0 @@
-/*
- * Copyright (c) 1999-2002 by The XFree86 Project, Inc.
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
- * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
- * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
- * OTHER DEALINGS IN THE SOFTWARE.
- *
- * Except as contained in this notice, the name of the copyright holder(s)
- * and author(s) shall not be used in advertising or otherwise to promote
- * the sale, use or other dealings in this Software without prior written
- * authorization from the copyright holder(s) and author(s).
- */
-
-/*
- * Finish setting up the server.
- * Call the functions from the scanpci module.
- */
-
-#ifdef HAVE_XORG_CONFIG_H
-#include <xorg-config.h>
-#endif
-
-#include <ctype.h>
-#include <stdlib.h>
-#include <X11/X.h>
-#include <X11/Xmd.h>
-#include <pciaccess.h>
-#include "os.h"
-#include "xf86.h"
-#include "xf86Priv.h"
-#include "xf86Pci.h"
-#include "Pci.h"
-#include "xf86_OSproc.h"
-
-static void ScanPciDisplayPCICardInfo(void);
-
-void
-ScanPciDisplayPCICardInfo(void)
-{
-    struct pci_id_match   match;
-    struct pci_device_iterator *iter;
-    const struct pci_device *dev;
-
-    xf86EnableIO();
-
-    if (! xf86scanpci()) {
-        xf86MsgVerb(X_NONE, 0, "No PCI info available\n");
-	return;
-    }
-    xf86MsgVerb(X_NONE, 0,
-		"Probing for PCI devices (Bus:Device:Function)\n\n");
-
-    iter = pci_id_match_iterator_create(NULL);
-    while ((dev = pci_device_next(iter)) != NULL) {
-	const char *svendorname = NULL, *subsysname = NULL;
-	const char *vendorname = NULL, *devicename = NULL;
-
-
-	xf86MsgVerb(X_NONE, 0, "(%d:%d:%d) ",
-		    PCI_MAKE_BUS(dev->domain, dev->bus), dev->dev, dev->func);
-
-	/*
-	 * Lookup as much as we can about the device.
-	 */
-	match.vendor_id = dev->vendor_id;
-	match.device_id = dev->device_id;
-	match.subvendor_id = (dev->subvendor_id != 0)
-	  ? dev->subvendor_id : PCI_MATCH_ANY;
-	match.subdevice_id = (dev->subdevice_id != 0)
-	  ? dev->subdevice_id : PCI_MATCH_ANY;
-	match.device_class = 0;
-	match.device_class_mask = 0;
-
-	pci_get_strings(& match, & vendorname, & devicename,
-			& svendorname, & subsysname);
-
-	if ((dev->subvendor_id != 0) || (dev->subdevice_id != 0)) {
-	    xf86MsgVerb(X_NONE, 0, "%s %s (0x%04x / 0x%04x) using ",
-			(svendorname == NULL) ? "unknown vendor" : svendorname,
-			(subsysname == NULL) ? "unknown card" : subsysname,
-			dev->subvendor_id, dev->subdevice_id);
-	}
-
-	xf86MsgVerb(X_NONE, 0, "%s %s (0x%04x / 0x%04x)\n",
-		    (vendorname == NULL) ? "unknown vendor" : vendorname,
-		    (devicename == NULL) ? "unknown chip" : devicename,
-		    dev->vendor_id, dev->device_id);
-    }
-
-    pci_iterator_destroy(iter);
-}
-
-
-void DoScanPci(int argc, char **argv, int i)
-{
-  int j,skip,globalVerbose;
-
-  /*
-   * first we need to finish setup of the OS so that we can call other
-   * functions in the server
-   */
-  OsInit();
-
-  /*
-   * The old verbosity processing that was here isn't useful anymore, but
-   * for compatibility purposes, ignore verbosity changes after the -scanpci
-   * flag.
-   */
-  globalVerbose = xf86Verbose;
-
-  /*
-   * next we process the arguments that are remaining on the command line,
-   * so that things like the module path can be set there
-   */
-  for ( j = i+1; j < argc; j++ ) {
-    if ((skip = ddxProcessArgument(argc, argv, j)))
-	j += (skip - 1);
-  } 
-
-  /*
-   * Was the verbosity level increased?  If so, set it back.
-   */
-  if (xf86Verbose > globalVerbose)
-    xf86SetVerbosity(globalVerbose);
-
-  ScanPciDisplayPCICardInfo();
-
-  /*
-   * That's it; we really should clean things up, but a simple
-   * exit seems to be all we need.
-   */
-  exit(0);
-}
diff --git a/hw/xfree86/common/xf86Init.c b/hw/xfree86/common/xf86Init.c
index 41cf1d1..7121b02 100644
--- a/hw/xfree86/common/xf86Init.c
+++ b/hw/xfree86/common/xf86Init.c
@@ -1668,10 +1668,6 @@ ddxProcessArgument(int argc, char **argv, int i)
     return 1;
   }
 #endif
-  if (!strcmp(argv[i], "-scanpci"))
-  {
-    DoScanPci(argc, argv, i);
-  }
   if (!strcmp(argv[i], "-probe"))
   {
     xf86DoProbe = TRUE;
@@ -1734,7 +1730,6 @@ ddxUseMsg()
   ErrorF("-config file           specify a configuration file, relative to the\n");
   ErrorF("                       "__XCONFIGFILE__" search path, only root can use absolute\n");
   ErrorF("-probeonly             probe for devices, then exit\n");
-  ErrorF("-scanpci               execute the scanpci module and exit\n");
   ErrorF("-verbose [n]           verbose startup messages\n");
   ErrorF("-logverbose [n]        verbose log messages\n");
   ErrorF("-quiet                 minimal startup messages\n");
diff --git a/hw/xfree86/common/xf86PciInfo.h b/hw/xfree86/common/xf86PciInfo.h
index 0630cfa..356c7db 100644
--- a/hw/xfree86/common/xf86PciInfo.h
+++ b/hw/xfree86/common/xf86PciInfo.h
@@ -40,9 +40,8 @@
  * or for non-video devices unless they're needed by a driver or elsewhere.
  * A comprehensive set of PCI vendor, device and subsystem data is
  * auto-generated from the ../etc/pci.ids file using the pciids2c.pl script,
- * and is used in both the scanpci module and the scanpci utility.  Don't
- * modify the pci.ids file.  If new/corrected entries are required, add them
- * to ../etc/extrapci.ids.
+ * and is used in scanpci utility.  Don't modify the pci.ids file.  If 
+ * new/corrected entries are required, add them to ../etc/extrapci.ids.
  */
 
 #ifndef _XF86_PCIINFO_H
diff --git a/hw/xfree86/common/xf86Priv.h b/hw/xfree86/common/xf86Priv.h
index 32801cb..fb9ecae 100644
--- a/hw/xfree86/common/xf86Priv.h
+++ b/hw/xfree86/common/xf86Priv.h
@@ -155,10 +155,6 @@ Bool xf86PathIsSafe(const char *path);
 
 extern DisplayModeRec xf86DefaultModes [];
 
-/* xf86DoScanPci.c */
-
-void DoScanPci(int argc, char **argv, int i);
-
 /* xf86DoProbe.c */
 void DoProbe(void);
 void DoConfigure(void);
diff --git a/hw/xfree86/doc/devel/Registry b/hw/xfree86/doc/devel/Registry
index d766221..1fec230 100644
--- a/hw/xfree86/doc/devel/Registry
+++ b/hw/xfree86/doc/devel/Registry
@@ -75,7 +75,6 @@ rendition
 s3
 s3virge
 savage
-scanpci
 shadow
 shadowfb
 siliconmotion
diff --git a/hw/xfree86/doc/man/Xorg.man.pre b/hw/xfree86/doc/man/Xorg.man.pre
index c950e32..405efda 100644
--- a/hw/xfree86/doc/man/Xorg.man.pre
+++ b/hw/xfree86/doc/man/Xorg.man.pre
@@ -378,13 +378,6 @@ and
 .B \-ggamma
 options.
 .TP 8
-.B \-scanpci
-When this option is specified, the
-.B __xservername__
-server scans the PCI bus, and prints out some information about each
-device that was detected.  See also scanpci(__appmansuffix__) 
-and pcitweak(__appmansuffix__).
-.TP 8
 .BI \-screen " screen-name"
 Use the __xconfigfile__(__filemansuffix__) file
 .B Screen
diff --git a/hw/xfree86/doc/man/xorg.conf.man.pre b/hw/xfree86/doc/man/xorg.conf.man.pre
index 96f30c4..9f39808 100644
--- a/hw/xfree86/doc/man/xorg.conf.man.pre
+++ b/hw/xfree86/doc/man/xorg.conf.man.pre
@@ -994,10 +994,8 @@ In multi-head configurations, or when using a secondary graphics card in a
 single-head configuration, this entry is mandatory.
 Its main purpose is to make an unambiguous connection between the device
 section and the hardware it is representing.
-This information can usually be found by running the __xservername__ server
-with the
-.B \-scanpci
-command line option.
+This information can usually be found by running the pciaccess tool
+scanpci.
 .TP 7
 .BI "Screen  " number
 This option is mandatory for cards where a single PCI entity can drive more
diff --git a/hw/xfree86/dummylib/Makefile.am b/hw/xfree86/dummylib/Makefile.am
index ad3f1ea..85a1d03 100644
--- a/hw/xfree86/dummylib/Makefile.am
+++ b/hw/xfree86/dummylib/Makefile.am
@@ -1,6 +1,6 @@
 # libdummy.a contains just those bits used in the server itself
 # libdummy-nonserver.a contains additional routines normally found in the
-# server for use in building the utilities like scanpci & the config tools
+# server for use in building the utilities like config tools
 
 noinst_LIBRARIES = libdummy-nonserver.a
 
diff --git a/hw/xfree86/modes/Makefile.am b/hw/xfree86/modes/Makefile.am
index 1f82068..6ee8575 100644
--- a/hw/xfree86/modes/Makefile.am
+++ b/hw/xfree86/modes/Makefile.am
@@ -16,7 +16,7 @@ libxf86modes_a_SOURCES = \
 
 INCLUDES = $(XORG_INCS) -I$(srcdir)/../ddc -I$(srcdir)/../i2c \
 	   -I$(srcdir)/../loader -I$(srcdir)/../rac -I$(srcdir)/../parser \
-           -I$(srcdir)/../scanpci -I$(srcdir)/../vbe -I$(srcdir)/../int10 \
+	   -I$(srcdir)/../vbe -I$(srcdir)/../int10 \
 	   -I$(srcdir)/../vgahw -I$(srcdir)/../ramdac \
 	   -I$(srcdir)/../dixmods/extmod
 
diff --git a/hw/xgl/glx/xglxorg.c b/hw/xgl/glx/xglxorg.c
index 984c50e..1d6fc9a 100644
--- a/hw/xgl/glx/xglxorg.c
+++ b/hw/xgl/glx/xglxorg.c
@@ -253,8 +253,6 @@ xglxArgRec xorgUidArgs[] = {
 xglxArgRec xorgArgs[] = {
     ARG (xglxProcessXorgWaitExitArgument, "-probeonly",
 	 "             probe for devices, then exit"),
-    ARG (xglxProcessXorgWaitExitArgument, "-scanpci",
-	 "               execute the scanpci module and exit"),
     XORG_UARG ("-verbose", " [n]           verbose startup messages", 2),
     XORG_UARG ("-logverbose", " [n]        verbose log messages", 2),
     XORG_UARG ("-quiet", "                 minimal startup messages", 1),
commit f19f7b8e53ed6609fc1fdd272de5521417946209
Author: Tiago Vignatti <vignatti at c3sl.ufpr.br>
Date:   Mon Feb 25 17:07:07 2008 -0300

    Clean some garbage caused when pciaccess was merged:
    
        FindPCIVideoInfo() function isn't need anymore.
    
        xf86scanpci() is being called only once so we don't need permanent
        (static) variables there.
    
        restorePciState() is not used for now (until we find why multiple
        cards aren't working).

diff --git a/hw/xfree86/common/xf86pciBus.c b/hw/xfree86/common/xf86pciBus.c
index 13e13e9..d5ae75b 100644
--- a/hw/xfree86/common/xf86pciBus.c
+++ b/hw/xfree86/common/xf86pciBus.c
@@ -107,127 +107,6 @@ xf86FormatPciBusNumber(int busnum, char *buffer)
 	sprintf(buffer, "%d@%d", busnum & 0x00ff, busnum >> 8);
 }
 
-static void
-FindPCIVideoInfo(void)
-{
-    int i = 0, k;
-    int num = 0;
-    struct pci_device *info;
-    struct pci_device_iterator *iter;
-
-
-    if (!xf86scanpci()) {
-	xf86PciVideoInfo = NULL;
-	return;
-    }
-
-    iter = pci_slot_match_iterator_create(& xf86IsolateDevice);
-    while ((info = pci_device_next(iter)) != NULL) {
-	if (PCIINFOCLASSES(info->device_class)) {
-	    num++;
-	    xf86PciVideoInfo = xnfrealloc(xf86PciVideoInfo,
-					  (sizeof(struct pci_device *)
-					   * (num + 1)));
-	    xf86PciVideoInfo[num] = NULL;
-	    xf86PciVideoInfo[num - 1] = info;
-
-	    pci_device_probe(info);
-	    info->user_data = 0;
-	}
-    }
-
-
-    /* If we haven't found a primary device try a different heuristic */
-    if (primaryBus.type == BUS_NONE && num) {
-	for (i = 0; i < num; i++) {
-	    uint16_t  command;
-
-	    info = xf86PciVideoInfo[i];
-	    pci_device_cfg_read_u16(info, & command, 4);
-
-	    if ((command & PCI_CMD_MEM_ENABLE) 
-		&& ((num == 1) || IS_VGA(info->device_class))) {
-		if (primaryBus.type == BUS_NONE) {
-		    primaryBus.type = BUS_PCI;
-		    primaryBus.id.pci = info;
-		} else {
-		    xf86Msg(X_NOTICE,
-			    "More than one possible primary device found\n");
-		    primaryBus.type ^= (BusType)(-1);
-		}
-	    }
-	}
-    }
-    
-    /* Print a summary of the video devices found */
-    for (k = 0; k < num; k++) {
-	const char *vendorname = NULL, *chipname = NULL;
-	const char *prim = " ";
-	Bool memdone = FALSE, iodone = FALSE;
-
-
-	info = xf86PciVideoInfo[k];
-
-	vendorname = pci_device_get_vendor_name( info );
-	chipname = pci_device_get_device_name( info );
-
-	if ((!vendorname || !chipname) &&
-	    !PCIALWAYSPRINTCLASSES(info->device_class))
-	    continue;
-
-	if (xf86IsPrimaryPci(info))
-	    prim = "*";
-
-	xf86Msg( X_PROBED, "PCI:%s(%u@%u:%u:%u) ", prim, info->domain,
-		 info->bus, info->dev, info->func );
-
-	if (vendorname)
-	    xf86ErrorF("%s ", vendorname);
-	else
-	    xf86ErrorF("unknown vendor (0x%04x) ", info->vendor_id);
-
-	if (chipname)
-	    xf86ErrorF("%s ", chipname);
-	else
-	    xf86ErrorF("unknown chipset (0x%04x) ", info->device_id);
-
-	xf86ErrorF("rev %d", info->revision);
-
-	for (i = 0; i < 6; i++) {
-	    struct pci_mem_region * r = & info->regions[i];
-
-	    if ( r->size && ! r->is_IO ) {
-		if (!memdone) {
-		    xf86ErrorF(", Mem @ ");
-		    memdone = TRUE;
-		} else
-		    xf86ErrorF(", ");
-		xf86ErrorF("0x%08lx/%ld", r->base_addr, r->size);
-	    }
-	}
-
-	for (i = 0; i < 6; i++) {
-	    struct pci_mem_region * r = & info->regions[i];
-
-	    if ( r->size && r->is_IO ) {
-		if (!iodone) {
-		    xf86ErrorF(", I/O @ ");
-		    iodone = TRUE;
-		} else
-		    xf86ErrorF(", ");
-		xf86ErrorF("0x%08lx/%ld", r->base_addr, r->size);
-	    }
-	}
-
-	if ( info->rom_size ) {
-	    xf86ErrorF(", BIOS @ 0x\?\?\?\?\?\?\?\?/%ld", info->rom_size);
-	}
-
-	xf86ErrorF("\n");
-    }
-}
-
-
 /*
  * IO enable/disable related routines for PCI
  */
@@ -401,10 +280,10 @@ savePciState( struct pci_device * dev, pciSavePtr ptr )
 }
 
 /* move to OS layer */
+#if 0
 static void
 restorePciState( struct pci_device * dev, pciSavePtr ptr)
 {
-#if 0
     int i;
     
     /* disable card before setting anything */
@@ -419,8 +298,8 @@ restorePciState( struct pci_device * dev, pciSavePtr ptr)
     }
 
     pci_device_cfg_write_u32(dev, ptr->command, PCI_CMD_STAT_REG);
-#endif
 }
+#endif
 
 /* move to OS layer */
 static void
@@ -470,7 +349,121 @@ restorePciBusState(BusAccPtr ptr)
 void
 xf86PciProbe(void)
 {
-    FindPCIVideoInfo();
+    int i = 0, k;
+    int num = 0;
+    struct pci_device *info;
+    struct pci_device_iterator *iter;
+
+
+    if (!xf86scanpci()) {
+	xf86PciVideoInfo = NULL;
+	return;
+    }
+
+    iter = pci_slot_match_iterator_create(& xf86IsolateDevice);
+    while ((info = pci_device_next(iter)) != NULL) {
+	if (PCIINFOCLASSES(info->device_class)) {
+	    num++;
+	    xf86PciVideoInfo = xnfrealloc(xf86PciVideoInfo,
+					  (sizeof(struct pci_device *)
+					   * (num + 1)));
+	    xf86PciVideoInfo[num] = NULL;
+	    xf86PciVideoInfo[num - 1] = info;
+
+	    pci_device_probe(info);
+	    info->user_data = 0;
+	}
+    }
+
+
+    /* If we haven't found a primary device try a different heuristic */
+    if (primaryBus.type == BUS_NONE && num) {
+	for (i = 0; i < num; i++) {
+	    uint16_t  command;
+
+	    info = xf86PciVideoInfo[i];
+	    pci_device_cfg_read_u16(info, & command, 4);
+
+	    if ((command & PCI_CMD_MEM_ENABLE) 
+		&& ((num == 1) || IS_VGA(info->device_class))) {
+		if (primaryBus.type == BUS_NONE) {
+		    primaryBus.type = BUS_PCI;
+		    primaryBus.id.pci = info;
+		} else {
+		    xf86Msg(X_NOTICE,
+			    "More than one possible primary device found\n");
+		    primaryBus.type ^= (BusType)(-1);
+		}
+	    }
+	}
+    }
+    
+    /* Print a summary of the video devices found */
+    for (k = 0; k < num; k++) {
+	const char *vendorname = NULL, *chipname = NULL;
+	const char *prim = " ";
+	Bool memdone = FALSE, iodone = FALSE;
+
+
+	info = xf86PciVideoInfo[k];
+
+	vendorname = pci_device_get_vendor_name( info );
+	chipname = pci_device_get_device_name( info );
+
+	if ((!vendorname || !chipname) &&
+	    !PCIALWAYSPRINTCLASSES(info->device_class))
+	    continue;
+
+	if (xf86IsPrimaryPci(info))
+	    prim = "*";
+
+	xf86Msg( X_PROBED, "PCI:%s(%u@%u:%u:%u) ", prim, info->domain,
+		 info->bus, info->dev, info->func );
+
+	if (vendorname)
+	    xf86ErrorF("%s ", vendorname);
+	else
+	    xf86ErrorF("unknown vendor (0x%04x) ", info->vendor_id);
+
+	if (chipname)
+	    xf86ErrorF("%s ", chipname);
+	else
+	    xf86ErrorF("unknown chipset (0x%04x) ", info->device_id);
+
+	xf86ErrorF("rev %d", info->revision);
+
+	for (i = 0; i < 6; i++) {
+	    struct pci_mem_region * r = & info->regions[i];
+
+	    if ( r->size && ! r->is_IO ) {
+		if (!memdone) {
+		    xf86ErrorF(", Mem @ ");
+		    memdone = TRUE;
+		} else
+		    xf86ErrorF(", ");
+		xf86ErrorF("0x%08lx/%ld", r->base_addr, r->size);
+	    }
+	}
+
+	for (i = 0; i < 6; i++) {
+	    struct pci_mem_region * r = & info->regions[i];
+
+	    if ( r->size && r->is_IO ) {
+		if (!iodone) {
+		    xf86ErrorF(", I/O @ ");
+		    iodone = TRUE;
+		} else
+		    xf86ErrorF(", ");
+		xf86ErrorF("0x%08lx/%ld", r->base_addr, r->size);
+	    }
+	}
+
+	if ( info->rom_size ) {
+	    xf86ErrorF(", BIOS @ 0x\?\?\?\?\?\?\?\?/%ld", info->rom_size);
+	}
+
+	xf86ErrorF("\n");
+    }
 }
 
 void
diff --git a/hw/xfree86/os-support/bus/Pci.c b/hw/xfree86/os-support/bus/Pci.c
index a34ed99..1ca0bd0 100644
--- a/hw/xfree86/os-support/bus/Pci.c
+++ b/hw/xfree86/os-support/bus/Pci.c
@@ -268,18 +268,7 @@ pciAddrNOOP(PCITAG tag, PciAddrType type, ADDRESS addr)
 _X_EXPORT Bool
 xf86scanpci(void)
 {
-    static Bool  done = FALSE;
-    static Bool  success = FALSE;
-
-    /*
-     * if we haven't found PCI devices checking for pci_devp may
-     * result in an endless recursion if platform/OS specific PCI
-     * bus probing code calls this function from with in it.
-     */
-    if (done)
-	return success;
-
-    done = TRUE;
+    Bool  success = FALSE;
 
     success = (pci_system_init() == 0);
     pciInit();


More information about the xorg-commit mailing list