From 8250fb4ed7a8561b08c1f7d0c35d48f251a4f61a Mon Sep 17 00:00:00 2001 From: Frodo Looijaard Date: Fri, 7 Jan 2000 17:16:27 +0000 Subject: [PATCH] Fixed voodoo3 for kernel 2.3.37. Please test. Changes in voodoo3_setup: * Use pci_find_device instead of traversing the list ourselves; * Eliminate flag, testing v3_num is just as good; * Elimiate result, it was not used anyway. git-svn-id: http://lm-sensors.org/svn/lm-sensors/trunk@684 7894878c-1315-0410-8ee3-d5d059ff63e0 --- kernel/busses/i2c-voodoo3.c | 27 +++++++++++---------------- 1 file changed, 11 insertions(+), 16 deletions(-) diff --git a/kernel/busses/i2c-voodoo3.c b/kernel/busses/i2c-voodoo3.c index 8a464962..9ea7cbd8 100644 --- a/kernel/busses/i2c-voodoo3.c +++ b/kernel/busses/i2c-voodoo3.c @@ -441,25 +441,20 @@ void config_v3(struct pci_dev *dev, int num) defined to make the transition easier. */ static int voodoo3_setup(void) { - struct pci_dev *dev = pci_devices; - int result=0; - int flag=0; + struct pci_dev *dev; v3_num=0; - while (dev) - { - if (dev->vendor == PCI_VENDOR_ID_3DFX) - if (dev->device == PCI_DEVICE_ID_3DFX_VOODOO3) { - if (!flag) { - config_v3(dev,v3_num++); - } else { v3_num++; } - flag=1; - } - if (result) - return result; - dev = dev->next; - } + dev = NULL; + do { + dev = pci_find_device(PCI_VENDOR_ID_3DFX, + PCI_DEVICE_ID_3DFX_VOODOO3,dev); + if(dev && !v3_num) { + config_v3(dev,v3_num++); + } else + v3_num++; + } while(dev); + if(v3_num > 0) { printk(KERN_INFO "i2c-voodoo3: %d Banshee/Voodoo3(s) found.\n", v3_num); return 0;