onboard pci_onboard works
authorYinghai Lu <yinghailu@gmail.com>
Thu, 13 Jan 2005 19:14:52 +0000 (19:14 +0000)
committerYinghai Lu <yinghailu@gmail.com>
Thu, 13 Jan 2005 19:14:52 +0000 (19:14 +0000)
git-svn-id: svn://svn.coreboot.org/coreboot/trunk@1867 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1

src/devices/pci_device.c

index fb84811ceeef0fba50a82c8aff072f270733e6a7..d7ba57b26204b0b05168c2fdb71ef6fbae89324b 100644 (file)
@@ -221,16 +221,6 @@ static void pci_get_rom_resource(struct device *dev, unsigned long index)
        /* Initialize the resources to nothing */
        resource = new_resource(dev, index);
 
-       /* for on board device with embedded ROM image, the ROM image is at
-        * fixed address specified in the Config.lb, the dev->rom_address is
-        * inited by driver_pci_onboard_ops::enable_dev() */
-       if ((dev->on_mainboard) && (dev->rom_address != 0)) {
-               resource->base   = dev->rom_address; 
-               resource->flags |= IORESOURCE_MEM | IORESOURCE_READONLY |
-                       IORESOURCE_ASSIGNED | IORESOURCE_FIXED;
-               return;
-       }
-
        /* Get the initial value */
        value = pci_read_config32(dev, index);
 
@@ -268,6 +258,15 @@ static void pci_get_rom_resource(struct device *dev, unsigned long index)
        } else {
                resource->flags |= IORESOURCE_MEM | IORESOURCE_READONLY;
        }
+
+       /* for on board device with embedded ROM image, the ROM image is at
+        * fixed address specified in the Config.lb, the dev->rom_address is
+        * inited by driver_pci_onboard_ops::enable_dev() */
+       if ((dev->on_mainboard) && (dev->rom_address == 0)) {
+               resource->base   = dev->rom_address;
+               resource->flags |= IORESOURCE_MEM | IORESOURCE_READONLY |
+                       IORESOURCE_ASSIGNED | IORESOURCE_FIXED;
+       }  
 }
 
 /** Read the base address registers for a given device.