ChangeSet 1.1254.4.42, 2003/06/04 12:34:55-07:00, greg@kroah.com [PATCH] PCI: remove usage of pci_for_each_dev() in drivers/video/sis/sis_main.c drivers/video/sis/sis_main.c | 105 ++++++++++++++++--------------------------- 1 files changed, 41 insertions(+), 64 deletions(-) diff -Nru a/drivers/video/sis/sis_main.c b/drivers/video/sis/sis_main.c --- a/drivers/video/sis/sis_main.c Wed Jun 4 18:08:59 2003 +++ b/drivers/video/sis/sis_main.c Wed Jun 4 18:08:59 2003 @@ -134,15 +134,9 @@ if (!init) { init = TRUE; - pci_for_each_dev(pdev) { - DPRINTK("sisfb: Current: 0x%x, target: 0x%x\n", - pdev->device, ivideo.chip_id); - if ((pdev->vendor == PCI_VENDOR_ID_SI) - && (pdev->device == ivideo.chip_id)) { - valid_pdev = TRUE; - break; - } - } + pdev = pci_find_device(PCI_VENDOR_ID_SI, ivideo.chip_id, pdev); + if (pdev) + valid_pdev = TRUE; } if (!valid_pdev) { @@ -192,15 +186,9 @@ break; } - pci_for_each_dev(pdev) { - DPRINTK("Current: 0x%x, target: 0x%x\n", - pdev->device, ivideo.chip_id); - if ((pdev->vendor == PCI_VENDOR_ID_SI) - && (pdev->device == nbridge_id)) { - valid_pdev = TRUE; - break; - } - } + pdev = pci_find_device(PCI_VENDOR_ID_SI, nbridge_id, pdev); + if (pdev) + valid_pdev = TRUE; } if (!valid_pdev) { @@ -2117,40 +2105,36 @@ } else { /* 540, 630, 730 */ - pci_for_each_dev(pdev) { - - if ((pdev->vendor == PCI_VENDOR_ID_SI) - && (pdev->device == nbridge_id)) { - pci_read_config_byte(pdev, IND_BRI_DRAM_STATUS, &pci_data); - pci_data = (pci_data & BRI_DRAM_SIZE_MASK) >> 4; - ivideo.video_size = (unsigned int)(1 << (pci_data+21)); - pdev_valid = 1; - - reg = SIS_DATA_BUS_64 << 6; - switch (pci_data) { - case BRI_DRAM_SIZE_2MB: - reg |= SIS_DRAM_SIZE_2MB; - break; - case BRI_DRAM_SIZE_4MB: - reg |= SIS_DRAM_SIZE_4MB; - break; - case BRI_DRAM_SIZE_8MB: - reg |= SIS_DRAM_SIZE_8MB; - break; - case BRI_DRAM_SIZE_16MB: - reg |= SIS_DRAM_SIZE_16MB; - break; - case BRI_DRAM_SIZE_32MB: - reg |= SIS_DRAM_SIZE_32MB; - break; - case BRI_DRAM_SIZE_64MB: - reg |= SIS_DRAM_SIZE_64MB; - break; - } - outSISIDXREG(SISSR, IND_SIS_DRAM_SIZE, reg); + pdev = pci_find_device(PCI_VENDOR_ID_SI, nbridge_id, pdev); + if (pdev) { + pci_read_config_byte(pdev, IND_BRI_DRAM_STATUS, &pci_data); + pci_data = (pci_data & BRI_DRAM_SIZE_MASK) >> 4; + ivideo.video_size = (unsigned int)(1 << (pci_data+21)); + pdev_valid = 1; + + reg = SIS_DATA_BUS_64 << 6; + switch (pci_data) { + case BRI_DRAM_SIZE_2MB: + reg |= SIS_DRAM_SIZE_2MB; break; - } - } + case BRI_DRAM_SIZE_4MB: + reg |= SIS_DRAM_SIZE_4MB; + break; + case BRI_DRAM_SIZE_8MB: + reg |= SIS_DRAM_SIZE_8MB; + break; + case BRI_DRAM_SIZE_16MB: + reg |= SIS_DRAM_SIZE_16MB; + break; + case BRI_DRAM_SIZE_32MB: + reg |= SIS_DRAM_SIZE_32MB; + break; + case BRI_DRAM_SIZE_64MB: + reg |= SIS_DRAM_SIZE_64MB; + break; + } + outSISIDXREG(SISSR, IND_SIS_DRAM_SIZE, reg); + } if (!pdev_valid) return -1; } @@ -2334,12 +2318,10 @@ #ifdef LINUXBIOS - pci_for_each_dev(pdev) { - - if ( (pdev->vendor == PCI_VENDOR_ID_SI) - && ( (pdev->device == PCI_DEVICE_ID_SI_550) || - (pdev->device == PCI_DEVICE_ID_SI_650) || - (pdev->device == PCI_DEVICE_ID_SI_740))) { + while ((pdev = pci_find_device(PCI_VENDOR_ID_SI, PCI_ANY_ID, pdev)) != NULL) { + if ((pdev->device == PCI_DEVICE_ID_SI_550) || + (pdev->device == PCI_DEVICE_ID_SI_650) || + (pdev->device == PCI_DEVICE_ID_SI_740)) { pci_read_config_byte(pdev, IND_BRI_DRAM_STATUS, &pci_data); pci_data = (pci_data & BRI_DRAM_SIZE_MASK) >> 4; @@ -2408,11 +2390,7 @@ "now reading from PCI config\n"); pdev_valid = 0; - pci_for_each_dev(pdev) { - - if ( (pdev->vendor == PCI_VENDOR_ID_SI) - && (pdev->device == PCI_DEVICE_ID_SI_550) ) { - + while ((pdev = pci_find_device(PCI_VENDOR_ID_SI, PCI_DEVICE_ID_SI_550, pdev)) != NULL) { pci_read_config_byte(pdev, IND_BRI_DRAM_STATUS, &pci_data); pci_data = (pci_data & BRI_DRAM_SIZE_MASK) >> 4; @@ -2437,7 +2415,6 @@ return -1; } outSISIDXREG(SISSR, IND_SIS_DRAM_SIZE, reg); - } } if (!pdev_valid) { printk(KERN_INFO "sisfb: Total confusion - No SiS PCI VGA device found?!\n"); @@ -3785,7 +3762,7 @@ memset(&sis_disp, 0, sizeof(sis_disp)); #endif - pci_for_each_dev(pdev) { + while ((pdev = pci_find_device(PCI_ANY_ID, PCI_ANY_ID, pdev)) != NULL) { for (b = sisdev_list; b->vendor; b++) { if ((b->vendor == pdev->vendor) && (b->device == pdev->device)) {