[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#225526: kernel: 2.6.0-test11 patch that can disable pci_domains.



Package: xserver-xfree86
Version: 4.3.0-0pre1v3
Severity: normal
Followup-For: Bug #225526

The attached patch will allow config to disable pci_domains.  Hopefully this
will provide a workaround for this bug.

-- System Information:
Debian Release: testing/unstable
Architecture: sparc
Kernel: Linux train 2.6.0-test11 #1 Tue Dec 30 08:25:25 CST 2003 sparc64
Locale: LANG=C, LC_CTYPE=C

Versions of packages xserver-xfree86 depends on:
ii  debconf                     1.4.0        Debian configuration management sy
ii  libc6                       2.3.2.ds1-11 GNU C Library: Shared libraries an
ii  xserver-common              4.2.1-13     files and utilities common to all 
ii  zlib1g                      1:1.2.1-3    compression library - runtime

-- debconf information excluded

diff -ur orig/kernel-source-2.6.0-test11/arch/sparc64/Kconfig ./kernel-source-2.6.0-test11/arch/sparc64/Kconfig
--- orig/kernel-source-2.6.0-test11/arch/sparc64/Kconfig	2003-11-24 01:13:10.000000000 -0600
+++ ./kernel-source-2.6.0-test11/arch/sparc64/Kconfig	2003-12-30 10:47:58.000000000 -0600
@@ -322,8 +322,10 @@
 	  doesn't.
 
 config PCI_DOMAINS
-	bool
-	default PCI
+	bool "PCI domains"
+	default n
+	help
+	  For now this fuckes with Xfree86!
 
 config RTC
 	tristate
diff -ur orig/kernel-source-2.6.0-test11/arch/sparc64/kernel/pci.c ./kernel-source-2.6.0-test11/arch/sparc64/kernel/pci.c
--- orig/kernel-source-2.6.0-test11/arch/sparc64/kernel/pci.c	2003-08-22 18:50:20.000000000 -0500
+++ ./kernel-source-2.6.0-test11/arch/sparc64/kernel/pci.c	2003-12-30 23:29:25.000000000 -0600
@@ -779,6 +779,7 @@
 	return 0;
 }
 
+#ifdef CONFIG_PCI_DOMAINS
 /* Return the domain nuber for this pci bus */
 
 int pci_domain_nr(struct pci_bus *pbus)
@@ -805,6 +806,7 @@
 	sprintf(name, "%04x:%02x", pci_domain_nr(bus), bus->number);
 	return 0;
 }
+#endif /* CONFIG_PCI_DOMAINS */
 
 int pcibios_prep_mwi(struct pci_dev *dev)
 {
diff -ur orig/kernel-source-2.6.0-test11/include/asm-sparc64/pci.h ./kernel-source-2.6.0-test11/include/asm-sparc64/pci.h
--- orig/kernel-source-2.6.0-test11/include/asm-sparc64/pci.h	2003-07-27 11:57:49.000000000 -0500
+++ ./kernel-source-2.6.0-test11/include/asm-sparc64/pci.h	2003-12-30 23:27:00.000000000 -0600
@@ -187,10 +187,27 @@
 	 */
 }
 
+/*
+ *  * PCI domain support.  Sometimes called PCI segment (eg by ACPI),
+ *  * a PCI domain is defined to be a set of PCI busses which share
+ *  * configuration space.
+ *  */
+#ifdef CONFIG_PCI_DOMAINS
 /* Return the index of the PCI controller for device PDEV. */
 
 extern int pci_domain_nr(struct pci_bus *bus);
 extern int pci_name_bus(char *name, struct pci_bus *bus);
+#else
+#if 0 /* ndef LINUX_PCI_H */
+static inline int pci_domain_nr(struct pci_bus *bus) { return 0; }
+static inline int pci_name_bus(char *name, struct pci_bus *bus)
+{
+	sprintf(name, "%02x", bus->number);
+	return 0;
+}
+#endif
+#endif
+
 
 /* Platform support for /proc/bus/pci/X/Y mmap()s. */
 

Reply to: