aboutsummaryrefslogtreecommitdiffstats
path: root/pci
diff options
context:
space:
mode:
authorGreg KH <greg@press.kroah.org>2005-11-03 17:44:00 -0800
committerGreg Kroah-Hartman <gregkh@suse.de>2005-11-03 17:44:00 -0800
commite594c048d8d4ac4ecb3f34123e061a2251637ab8 (patch)
treeb2f02b1675f88e5eb5ea09bf290d8cced83ac64c /pci
parentc8b78238953b1fd78888b570fee8070fb23632ca (diff)
downloadpatches-e594c048d8d4ac4ecb3f34123e061a2251637ab8.tar.gz
new pci and i2c and usb patches
Diffstat (limited to 'pci')
-rw-r--r--pci/apci-use-pin-stored-in-pci_dev.patch47
-rw-r--r--pci/pci-call-pci_read_irq-for-bridges.patch27
-rw-r--r--pci/pci-store-pci_interrupt_pin-in-pci_dev.patch38
-rw-r--r--pci/pci-use-pin-stored-in-pci_dev.patch28
-rw-r--r--pci/pci_driver_auto_set_owner.patch2
5 files changed, 141 insertions, 1 deletions
diff --git a/pci/apci-use-pin-stored-in-pci_dev.patch b/pci/apci-use-pin-stored-in-pci_dev.patch
new file mode 100644
index 0000000000000..0bbb26579f12e
--- /dev/null
+++ b/pci/apci-use-pin-stored-in-pci_dev.patch
@@ -0,0 +1,47 @@
+From kristen.c.accardi@intel.com Wed Nov 2 19:43:42 2005
+Subject: [patch 2/4] apci: use pin stored in pci_dev
+From: Kristen Accardi <kristen.c.accardi@intel.com>
+To: <rajesh.shah@intel.com>, <greg@kroah.com>, <len.brown@intel.com>
+Date: Wed, 02 Nov 2005 16:24:35 -0800
+Message-Id: <1130977475.8321.40.camel@whizzy>
+
+Use the stored value of the Interrupt Pin, rather than try to read
+it again.
+
+Signed-off-by: Kristen Carlson Accardi <kristen.c.accardi@intel.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/acpi/pci_irq.c | 7 +++----
+ 1 file changed, 3 insertions(+), 4 deletions(-)
+
+--- gregkh-2.6.orig/drivers/acpi/pci_irq.c
++++ gregkh-2.6/drivers/acpi/pci_irq.c
+@@ -361,8 +361,7 @@ acpi_pci_irq_derive(struct pci_dev *dev,
+
+ if ((bridge->class >> 8) == PCI_CLASS_BRIDGE_CARDBUS) {
+ /* PC card has the same IRQ as its cardbridge */
+- pci_read_config_byte(bridge, PCI_INTERRUPT_PIN,
+- &bridge_pin);
++ bridge_pin = bridge->pin;
+ if (!bridge_pin) {
+ ACPI_DEBUG_PRINT((ACPI_DB_INFO,
+ "No interrupt pin configured for device %s\n",
+@@ -412,7 +411,7 @@ int acpi_pci_irq_enable(struct pci_dev *
+ if (!dev)
+ return_VALUE(-EINVAL);
+
+- pci_read_config_byte(dev, PCI_INTERRUPT_PIN, &pin);
++ pin = dev->pin;
+ if (!pin) {
+ ACPI_DEBUG_PRINT((ACPI_DB_INFO,
+ "No interrupt pin configured for device %s\n",
+@@ -503,7 +502,7 @@ void acpi_pci_irq_disable(struct pci_dev
+ if (!dev || !dev->bus)
+ return_VOID;
+
+- pci_read_config_byte(dev, PCI_INTERRUPT_PIN, &pin);
++ pin = dev->pin;
+ if (!pin)
+ return_VOID;
+ pin--;
diff --git a/pci/pci-call-pci_read_irq-for-bridges.patch b/pci/pci-call-pci_read_irq-for-bridges.patch
new file mode 100644
index 0000000000000..ad46b44460513
--- /dev/null
+++ b/pci/pci-call-pci_read_irq-for-bridges.patch
@@ -0,0 +1,27 @@
+From kristen.c.accardi@intel.com Wed Nov 2 19:44:36 2005
+Subject: [patch 4/4] pci: call pci_read_irq for bridges
+From: Kristen Accardi <kristen.c.accardi@intel.com>
+To: <rajesh.shah@intel.com>, <greg@kroah.com>, <len.brown@intel.com>
+Date: Wed, 02 Nov 2005 16:55:49 -0800
+Message-Id: <1130979349.8321.50.camel@whizzy>
+
+Call pci_read_irq() for bridges too, so that the pin value
+is stored for bridges that require interrupts.
+
+Signed-off-by: Kristen Carlson Accardi <kristen.c.accardi@intel.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/pci/probe.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+--- gregkh-2.6.orig/drivers/pci/probe.c
++++ gregkh-2.6/drivers/pci/probe.c
+@@ -639,6 +639,7 @@ static int pci_setup_device(struct pci_d
+ /* The PCI-to-PCI bridge spec requires that subtractive
+ decoding (i.e. transparent) bridge must have programming
+ interface code of 0x01. */
++ pci_read_irq(dev);
+ dev->transparent = ((dev->class & 0xff) == 1);
+ pci_read_bases(dev, 2, PCI_ROM_ADDRESS1);
+ break;
diff --git a/pci/pci-store-pci_interrupt_pin-in-pci_dev.patch b/pci/pci-store-pci_interrupt_pin-in-pci_dev.patch
new file mode 100644
index 0000000000000..0d97dd230efa4
--- /dev/null
+++ b/pci/pci-store-pci_interrupt_pin-in-pci_dev.patch
@@ -0,0 +1,38 @@
+From kristen.c.accardi@intel.com Wed Nov 2 19:43:36 2005
+Subject: [patch 1/4] pci: store PCI_INTERRUPT_PIN in pci_dev
+From: Kristen Accardi <kristen.c.accardi@intel.com>
+To: <rajesh.shah@intel.com>, <greg@kroah.com>, <len.brown@intel.com>
+Date: Wed, 02 Nov 2005 16:24:32 -0800
+Message-Id: <1130977472.8321.39.camel@whizzy>
+
+Store the value of the INTERRUPT_PIN in the pci_dev structure
+so that it can be retrieved later.
+
+Signed-off-by: Kristen Carlson Accardi <kristen.c.accardi@intel.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/pci/probe.c | 1 +
+ include/linux/pci.h | 1 +
+ 2 files changed, 2 insertions(+)
+
+--- gregkh-2.6.orig/drivers/pci/probe.c
++++ gregkh-2.6/drivers/pci/probe.c
+@@ -571,6 +571,7 @@ static void pci_read_irq(struct pci_dev
+ unsigned char irq;
+
+ pci_read_config_byte(dev, PCI_INTERRUPT_PIN, &irq);
++ dev->pin = irq;
+ if (irq)
+ pci_read_config_byte(dev, PCI_INTERRUPT_LINE, &irq);
+ dev->irq = irq;
+--- gregkh-2.6.orig/include/linux/pci.h
++++ gregkh-2.6/include/linux/pci.h
+@@ -98,6 +98,7 @@ struct pci_dev {
+ unsigned int class; /* 3 bytes: (base,sub,prog-if) */
+ u8 hdr_type; /* PCI header type (`multi' flag masked out) */
+ u8 rom_base_reg; /* which config register controls the ROM */
++ u8 pin; /* which interrupt pin this device uses */
+
+ struct pci_driver *driver; /* which driver has allocated this device */
+ u64 dma_mask; /* Mask of the bits of bus address this
diff --git a/pci/pci-use-pin-stored-in-pci_dev.patch b/pci/pci-use-pin-stored-in-pci_dev.patch
new file mode 100644
index 0000000000000..e52d856772156
--- /dev/null
+++ b/pci/pci-use-pin-stored-in-pci_dev.patch
@@ -0,0 +1,28 @@
+From kristen.c.accardi@intel.com Wed Nov 2 19:43:44 2005
+Subject: [patch 3/4] pci: use pin stored in pci_dev
+From: Kristen Accardi <kristen.c.accardi@intel.com>
+To: <rajesh.shah@intel.com>, <greg@kroah.com>, <len.brown@intel.com>
+Date: Wed, 02 Nov 2005 16:24:39 -0800
+Message-Id: <1130977479.8321.41.camel@whizzy>
+
+Use the stored value of the interrupt pin rather than try to read
+the config again.
+
+Signed-off-by: Kristen Carlson Accardi <kristen.c.accardi@intel.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ drivers/pci/pci.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- gregkh-2.6.orig/drivers/pci/pci.c
++++ gregkh-2.6/drivers/pci/pci.c
+@@ -591,7 +591,7 @@ pci_get_interrupt_pin(struct pci_dev *de
+ {
+ u8 pin;
+
+- pci_read_config_byte(dev, PCI_INTERRUPT_PIN, &pin);
++ pin = dev->pin;
+ if (!pin)
+ return -1;
+ pin--;
diff --git a/pci/pci_driver_auto_set_owner.patch b/pci/pci_driver_auto_set_owner.patch
index 2e8f53be73d2a..16ac57f7cc262 100644
--- a/pci/pci_driver_auto_set_owner.patch
+++ b/pci/pci_driver_auto_set_owner.patch
@@ -136,7 +136,7 @@ Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
}
--- gregkh-2.6.orig/include/linux/ide.h
+++ gregkh-2.6/include/linux/ide.h
-@@ -1323,7 +1323,8 @@ void ide_init_disk(struct gendisk *, ide
+@@ -1324,7 +1324,8 @@ void ide_init_disk(struct gendisk *, ide
extern int ideprobe_init(void);
extern void ide_scan_pcibus(int scan_direction) __init;