Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

Merge master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6

* master.kernel.org:/pub/scm/linux/kernel/git/gregkh/pci-2.6:
[PATCH] PCI quirk: VIA IRQ fixup should only run for VIA southbridges
[PATCH] PCI: fix potential resource leak in drivers/pci/msi.c
[PATCH] PCI: Documentation: no more device ids
[PATCH] PCI: fix via irq SATA patch

+18 -5
+11 -1
Documentation/pci.txt
··· 259 259 to be handled by platform and generic code, not individual drivers. 260 260 261 261 262 - 8. Obsolete functions 262 + 8. Vendor and device identifications 263 + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 264 + For the future, let's avoid adding device ids to include/linux/pci_ids.h. 265 + 266 + PCI_VENDOR_ID_xxx for vendors, and a hex constant for device ids. 267 + 268 + Rationale: PCI_VENDOR_ID_xxx constants are re-used, but device ids are not. 269 + Further, device ids are arbitrary hex numbers, normally used only in a 270 + single location, the pci_device_id table. 271 + 272 + 9. Obsolete functions 263 273 ~~~~~~~~~~~~~~~~~~~~~ 264 274 There are several functions which you might come across when trying to 265 275 port an old driver to the new PCI interface. They are no longer present
-1
arch/i386/pci/irq.c
··· 591 591 case PCI_DEVICE_ID_VIA_8233A: 592 592 case PCI_DEVICE_ID_VIA_8235: 593 593 case PCI_DEVICE_ID_VIA_8237: 594 - case PCI_DEVICE_ID_VIA_8237_SATA: 595 594 /* FIXME: add new ones for 8233/5 */ 596 595 r->name = "VIA"; 597 596 r->get = pirq_via_get;
+3 -1
drivers/pci/msi.c
··· 793 793 if (!entry) 794 794 break; 795 795 vector = get_msi_vector(dev); 796 - if (vector < 0) 796 + if (vector < 0) { 797 + kmem_cache_free(msi_cachep, entry); 797 798 break; 799 + } 798 800 799 801 j = entries[i].entry; 800 802 entries[i].vector = vector;
+4 -2
drivers/pci/quirks.c
··· 642 642 new_irq = dev->irq & 0xf; 643 643 pci_read_config_byte(dev, PCI_INTERRUPT_LINE, &irq); 644 644 if (new_irq != irq) { 645 - printk(KERN_INFO "PCI: Via IRQ fixup for %s, from %d to %d\n", 645 + printk(KERN_INFO "PCI: VIA IRQ fixup for %s, from %d to %d\n", 646 646 pci_name(dev), irq, new_irq); 647 647 udelay(15); /* unknown if delay really needed */ 648 648 pci_write_config_byte(dev, PCI_INTERRUPT_LINE, new_irq); 649 649 } 650 650 } 651 - DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_ANY_ID, quirk_via_irq); 651 + DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C686, quirk_via_irq); 652 + DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C686_4, quirk_via_irq); 653 + DECLARE_PCI_FIXUP_ENABLE(PCI_VENDOR_ID_VIA, PCI_DEVICE_ID_VIA_82C686_5, quirk_via_irq); 652 654 653 655 /* 654 656 * VIA VT82C598 has its device ID settable and many BIOSes