Push use of 'struct pci_device' to bootprio_find_pci_rom().
authorKevin O'Connor <kevin@koconnor.net>
Sat, 9 Jul 2011 18:47:47 +0000 (14:47 -0400)
committerKevin O'Connor <kevin@koconnor.net>
Sun, 10 Jul 2011 19:36:04 +0000 (15:36 -0400)
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
src/boot.c
src/boot.h
src/optionroms.c

index 3fda39a9a9219556da57f768d1c1f00303c37320..4e86477e8b7d20959ccccc0831af48931b765b79 100644 (file)
@@ -169,13 +169,13 @@ int bootprio_find_fdc_device(struct pci_device *pci, int port, int fdid)
     return find_prio(desc);
 }
 
-int bootprio_find_pci_rom(int bdf, int instance)
+int bootprio_find_pci_rom(struct pci_device *pci, int instance)
 {
     if (!CONFIG_BOOTORDER)
         return -1;
     // Find pci rom - for example: /pci@i0cf8/scsi@3:rom2
     char desc[256], *p;
-    p = build_pci_path(desc, sizeof(desc), "*", find_pci(bdf));
+    p = build_pci_path(desc, sizeof(desc), "*", pci);
     if (instance)
         snprintf(p, desc+sizeof(desc)-p, ":rom%d", instance);
     return find_prio(desc);
index 78d4f3bbdf5dd14480f47b7df163b72dab159648..d776aa10515c080d011c620099f0c841a0c6c9e1 100644 (file)
@@ -16,7 +16,7 @@ struct pci_device;
 int bootprio_find_pci_device(struct pci_device *pci);
 int bootprio_find_ata_device(struct pci_device *pci, int chanid, int slave);
 int bootprio_find_fdc_device(struct pci_device *pci, int port, int fdid);
-int bootprio_find_pci_rom(int bdf, int instance);
+int bootprio_find_pci_rom(struct pci_device *pci, int instance);
 int bootprio_find_named_rom(const char *name, int instance);
 int bootprio_find_usb(struct pci_device *pci, u64 path);
 
index 3d1a1e41c986ec17bf30884097d6b1b5bbce212c..be02f2aa245c51631582637c7e72d836a51a1b20 100644 (file)
@@ -230,7 +230,7 @@ getRomPriority(u64 *sources, struct rom_header *rom, int instance)
     if (!source)
         return -1;
     if (source & RS_PCIROM)
-        return bootprio_find_pci_rom(source, instance);
+        return bootprio_find_pci_rom((void*)(u32)source, instance);
     return bootprio_find_named_rom(romfile_name(source), instance);
 }
 
@@ -379,7 +379,7 @@ init_pcirom(struct pci_device *pci, int isvga, u64 *sources)
     if (! rom)
         // No ROM present.
         return -1;
-    setRomSource(sources, rom, RS_PCIROM | bdf);
+    setRomSource(sources, rom, RS_PCIROM | (u32)pci);
     return init_optionrom(rom, bdf, isvga);
 }