summaryrefslogtreecommitdiffstats
path: root/drivers/video/imsttfb.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/video/imsttfb.c')
-rw-r--r--drivers/video/imsttfb.c14
1 files changed, 4 insertions, 10 deletions
diff --git a/drivers/video/imsttfb.c b/drivers/video/imsttfb.c
index d020ed752..d03d4660a 100644
--- a/drivers/video/imsttfb.c
+++ b/drivers/video/imsttfb.c
@@ -1919,21 +1919,15 @@ imsttfb_init(void)
/* We don't want to be called like this. */
/* We rely on Open Firmware (offb) instead. */
#elif defined(CONFIG_PCI)
- struct pci_dev *pdev;
+ struct pci_dev *pdev = NULL;
struct fb_info_imstt *p;
__u32 addr;
__u16 cmd;
- for (pdev = pci_devices; pdev; pdev = pdev->next) {
- if (!(((pdev->class >> 16) == PCI_BASE_CLASS_DISPLAY)
- && (pdev->vendor == PCI_VENDOR_ID_IMS)))
+ while ((pdev = pci_find_device(PCI_VENDOR_ID_IMS, PCI_ANY_ID, pdev))) {
+ if ((pdev->class >> 16) != PCI_BASE_CLASS_DISPLAY)
continue;
-
- pci_read_config_word(pdev, PCI_COMMAND, &cmd);
- if (!(cmd & PCI_COMMAND_MEMORY)) {
- cmd |= PCI_COMMAND_MEMORY;
- pci_write_config_word(pdev, PCI_COMMAND, cmd);
- }
+ pci_enable_device(pdev);
addr = pdev->resource[0].start;
if (!addr)