diff options
author | Greg KH <greg@press.kroah.org> | 2005-11-03 17:44:00 -0800 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2005-11-03 17:44:00 -0800 |
commit | e594c048d8d4ac4ecb3f34123e061a2251637ab8 (patch) | |
tree | b2f02b1675f88e5eb5ea09bf290d8cced83ac64c /pci | |
parent | c8b78238953b1fd78888b570fee8070fb23632ca (diff) | |
download | patches-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.patch | 47 | ||||
-rw-r--r-- | pci/pci-call-pci_read_irq-for-bridges.patch | 27 | ||||
-rw-r--r-- | pci/pci-store-pci_interrupt_pin-in-pci_dev.patch | 38 | ||||
-rw-r--r-- | pci/pci-use-pin-stored-in-pci_dev.patch | 28 | ||||
-rw-r--r-- | pci/pci_driver_auto_set_owner.patch | 2 |
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; |