Push use of 'struct pci_device' to bootprio_find_fdc_device().
authorKevin O'Connor <kevin@koconnor.net>
Sat, 9 Jul 2011 18:35:37 +0000 (14:35 -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/floppy.c

index 5c0e0bb508d88d3d32e18649f65893d5c47ad82b..f769339ff27debc8c662a682cb0a577506ed358b 100644 (file)
@@ -155,16 +155,16 @@ int bootprio_find_ata_device(int bdf, int chanid, int slave)
     return find_prio(desc);
 }
 
-int bootprio_find_fdc_device(int bdf, int port, int fdid)
+int bootprio_find_fdc_device(struct pci_device *pci, int port, int fdid)
 {
     if (!CONFIG_BOOTORDER)
         return -1;
-    if (bdf == -1)
+    if (!pci)
         // support only pci machine for now
         return -1;
     // Find floppy - for example: /pci@i0cf8/isa@1/fdc@03f1/floppy@0
     char desc[256], *p;
-    p = build_pci_path(desc, sizeof(desc), "isa", find_pci(bdf));
+    p = build_pci_path(desc, sizeof(desc), "isa", pci);
     snprintf(p, desc+sizeof(desc)-p, "/fdc@%04x/floppy@%x", port, fdid);
     return find_prio(desc);
 }
index 92af9da8f95ddbd4dd150cda40691f9de328ec01..ae8ff89a5ec6a1ba0f9ffa8477abf770f2ac9df1 100644 (file)
@@ -15,7 +15,7 @@ void boot_prep(void);
 struct pci_device;
 int bootprio_find_pci_device(struct pci_device *pci);
 int bootprio_find_ata_device(int bdf, int chanid, int slave);
-int bootprio_find_fdc_device(int bdf, int port, int fdid);
+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_named_rom(const char *name, int instance);
 int bootprio_find_usb(struct pci_device *pci, u64 path);
index 8009af0ffe262c0fb0fec793f06557b912587c7c..383744a22d9d8fa5debc025053d4d2af2463de5c 100644 (file)
@@ -124,7 +124,7 @@ addFloppy(int floppyid, int ftype)
         return;
     char *desc = znprintf(MAXDESCSIZE, "Floppy [drive %c]", 'A' + floppyid);
     struct pci_device *pci = pci_find_class(PCI_CLASS_BRIDGE_ISA); /* isa-to-pci bridge */
-    int prio = bootprio_find_fdc_device(pci->bdf, PORT_FD_BASE, floppyid);
+    int prio = bootprio_find_fdc_device(pci, PORT_FD_BASE, floppyid);
     boot_add_floppy(drive_g, desc, prio);
 }