aboutsummaryrefslogtreecommitdiffstats
path: root/pci
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@suse.de>2005-11-02 11:56:20 -0800
committerGreg Kroah-Hartman <gregkh@suse.de>2005-11-02 11:56:20 -0800
commit5e0e06547872453964f09b8c392ebcbf2b1b3968 (patch)
tree5c8af9fdf5376b79fbc90decbf0c5c65ea3d4615 /pci
parent3f749dd310dbfa5e8faa07cc40a1c78519a53f95 (diff)
downloadpatches-5e0e06547872453964f09b8c392ebcbf2b1b3968.tar.gz
added pci patches
Diffstat (limited to 'pci')
-rw-r--r--pci/pci-driver-store_new_id-not-inline.patch28
-rw-r--r--pci/pci-ncr-53c810-quirk.patch69
-rw-r--r--pci/pci-via-686-quirk-name-fix.patch31
3 files changed, 128 insertions, 0 deletions
diff --git a/pci/pci-driver-store_new_id-not-inline.patch b/pci/pci-driver-store_new_id-not-inline.patch
new file mode 100644
index 0000000000000..218af03a9349e
--- /dev/null
+++ b/pci/pci-driver-store_new_id-not-inline.patch
@@ -0,0 +1,28 @@
+From rdunlap@xenotime.net Fri Oct 28 20:45:02 2005
+Date: Fri, 28 Oct 2005 20:36:51 -0700
+From: "Randy.Dunlap" <rdunlap@xenotime.net>
+To: gregkh <greg@kroah.com>
+Subject: pci-driver: store_new_id() not inline
+Message-Id: <20051028203651.10d46653.rdunlap@xenotime.net>
+
+From: Randy Dunlap <rdunlap@xenotime.net>
+
+store_new_id() should not be (and cannot be) inline;
+the function pointer is stored in a device_attribute table.
+
+Signed-off-by: Randy Dunlap <rdunlap@xenotime.net>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+ drivers/pci/pci-driver.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- gregkh-2.6.orig/drivers/pci/pci-driver.c 2005-11-02 09:25:02.000000000 -0800
++++ gregkh-2.6/drivers/pci/pci-driver.c 2005-11-02 11:54:14.000000000 -0800
+@@ -36,7 +36,7 @@
+ * Adds a new dynamic pci device ID to this driver,
+ * and causes the driver to probe for all devices again.
+ */
+-static inline ssize_t
++static ssize_t
+ store_new_id(struct device_driver *driver, const char *buf, size_t count)
+ {
+ struct pci_dynid *dynid;
diff --git a/pci/pci-ncr-53c810-quirk.patch b/pci/pci-ncr-53c810-quirk.patch
new file mode 100644
index 0000000000000..9fc6e86287122
--- /dev/null
+++ b/pci/pci-ncr-53c810-quirk.patch
@@ -0,0 +1,69 @@
+From ink@jurassic.park.msu.ru Mon Oct 31 15:30:25 2005
+Date: Tue, 1 Nov 2005 01:43:56 +0300
+From: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
+To: Greg KH <greg@kroah.com>
+Cc: <paulus@samba.org>
+Subject: [patch] PCI: NCR 53c810 quirk
+Message-ID: <20051101014356.A1779@jurassic.park.msu.ru>
+Content-Disposition: inline
+
+Move the PPC fixup for old NCR 810 controllers to generic quirks -
+it's needed for Alpha, x86 and other architectures that use
+setup-bus.c.
+
+Thanks to Jay Estabrook for pointing out the issue.
+
+Signed-off-by: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+ arch/ppc/kernel/pci.c | 14 --------------
+ drivers/pci/quirks.c | 15 +++++++++++++++
+ 2 files changed, 15 insertions(+), 14 deletions(-)
+
+--- gregkh-2.6.orig/arch/ppc/kernel/pci.c 2005-11-02 09:24:55.000000000 -0800
++++ gregkh-2.6/arch/ppc/kernel/pci.c 2005-11-02 11:54:11.000000000 -0800
+@@ -62,20 +62,6 @@
+ static int pci_bus_count;
+
+ static void
+-fixup_rev1_53c810(struct pci_dev* dev)
+-{
+- /* rev 1 ncr53c810 chips don't set the class at all which means
+- * they don't get their resources remapped. Fix that here.
+- */
+-
+- if ((dev->class == PCI_CLASS_NOT_DEFINED)) {
+- printk("NCR 53c810 rev 1 detected, setting PCI class.\n");
+- dev->class = PCI_CLASS_STORAGE_SCSI;
+- }
+-}
+-DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_NCR, PCI_DEVICE_ID_NCR_53C810, fixup_rev1_53c810);
+-
+-static void
+ fixup_broken_pcnet32(struct pci_dev* dev)
+ {
+ if ((dev->class>>8 == PCI_CLASS_NETWORK_ETHERNET)) {
+--- gregkh-2.6.orig/drivers/pci/quirks.c 2005-11-02 11:54:04.000000000 -0800
++++ gregkh-2.6/drivers/pci/quirks.c 2005-11-02 11:54:11.000000000 -0800
+@@ -1243,6 +1243,21 @@
+ }
+ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_NETMOS, PCI_ANY_ID, quirk_netmos);
+
++
++static void __devinit fixup_rev1_53c810(struct pci_dev* dev)
++{
++ /* rev 1 ncr53c810 chips don't set the class at all which means
++ * they don't get their resources remapped. Fix that here.
++ */
++
++ if (dev->class == PCI_CLASS_NOT_DEFINED) {
++ printk(KERN_INFO "NCR 53c810 rev 1 detected, setting PCI class.\n");
++ dev->class = PCI_CLASS_STORAGE_SCSI;
++ }
++}
++DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_NCR, PCI_DEVICE_ID_NCR_53C810, fixup_rev1_53c810);
++
++
+ static void pci_do_fixups(struct pci_dev *dev, struct pci_fixup *f, struct pci_fixup *end)
+ {
+ while (f < end) {
diff --git a/pci/pci-via-686-quirk-name-fix.patch b/pci/pci-via-686-quirk-name-fix.patch
new file mode 100644
index 0000000000000..eb5677c8d0d4e
--- /dev/null
+++ b/pci/pci-via-686-quirk-name-fix.patch
@@ -0,0 +1,31 @@
+From linux-kernel-owner+greg=40kroah.com-S1750928AbVJ2Kbw@vger.kernel.org Sat Oct 29 03:35:46 2005
+Date: Sat, 29 Oct 2005 13:31:49 +0300 (EEST)
+From: Meelis Roos <mroos@linux.ee>
+Subject: PCI: Fix VIA 686 PCI quirk names
+Message-ID: <Pine.SOC.4.61.0510291327500.23616@math.ut.ee>
+
+The quirk names for VIA 686 are mistyped in 2.6.14 (686 vs 868). S3 868
+influence? :) Here is a patch to correct them.
+
+Signed-off-by: Meelis Roos <mroos@linux.ee>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+ drivers/pci/quirks.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- gregkh-2.6.orig/drivers/pci/quirks.c 2005-11-02 09:25:02.000000000 -0800
++++ gregkh-2.6/drivers/pci/quirks.c 2005-11-02 11:53:52.000000000 -0800
+@@ -462,11 +462,11 @@
+
+ pci_read_config_word(dev, 0x70, &hm);
+ hm &= PCI_BASE_ADDRESS_IO_MASK;
+- quirk_io_region(dev, hm, 128, PCI_BRIDGE_RESOURCES + 1, "vt82c868 HW-mon");
++ quirk_io_region(dev, hm, 128, PCI_BRIDGE_RESOURCES + 1, "vt82c686 HW-mon");
+
+ pci_read_config_dword(dev, 0x90, &smb);
+ smb &= PCI_BASE_ADDRESS_IO_MASK;
+- quirk_io_region(dev, smb, 16, PCI_BRIDGE_RESOURCES + 2, "vt82c868 SMB");
++ quirk_io_region(dev, smb, 16, PCI_BRIDGE_RESOURCES + 2, "vt82c686 SMB");
+ }
+ DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C686_4, quirk_vt82c686_acpi );
+