Kaynağa Gözat

Now compiles.

tags/v0.9.3
Michael Brown 19 yıl önce
ebeveyn
işleme
2c2154b169
1 değiştirilmiş dosya ile 14 ekleme ve 19 silme
  1. 14
    19
      src/arch/i386/drivers/net/undi.c

+ 14
- 19
src/arch/i386/drivers/net/undi.c Dosyayı Görüntüle

@@ -1364,18 +1364,6 @@ static int hunt_pixies_and_undi_roms ( void ) {
1364 1364
 	return 0;
1365 1365
 }
1366 1366
 
1367
-/* UNDI driver states that it is suitable for any PCI NIC (i.e. any
1368
- * PCI device of class PCI_CLASS_NETWORK_ETHERNET).  If there are any
1369
- * obscure UNDI NICs that have the incorrect PCI class, add them to
1370
- * this list.
1371
- */
1372
-static struct pci_id undi_nics[] = {
1373
-	PCI_ROM ( 0x0000, 0x0000, "undi", "UNDI driver support" ),
1374
-};
1375
-
1376
-static struct pci_driver undi_driver =
1377
-	PCI_DRIVER ( "UNDI", undi_nics, PCI_CLASS_NETWORK_ETHERNET );
1378
-
1379 1367
 static struct nic_operations undi_operations = {
1380 1368
 	.connect = dummy_connect,
1381 1369
 	.poll = undi_poll,
@@ -1387,17 +1375,12 @@ static struct nic_operations undi_operations = {
1387 1375
 /* The actual Etherboot probe routine.
1388 1376
  */
1389 1377
 
1390
-static int undi_probe ( struct dev *dev ) {
1378
+static int undi_probe ( struct dev *dev, struct pci_device *pci ) {
1391 1379
 	struct nic *nic = nic_device ( dev );
1392
-	struct pci_device *pci = pci_device ( dev );
1393 1380
 
1394 1381
 	/* Zero out global undi structure */
1395 1382
 	memset ( &undi, 0, sizeof(undi) );
1396 1383
 
1397
-	/* Scan PCI bus for a suitable device */
1398
-	if ( ! find_pci_device ( pci, &undi_driver ) )
1399
-		return 0;
1400
-
1401 1384
 	/* Store PCI parameters; we will need them to initialize the
1402 1385
 	 * UNDI driver later.  If not a PCI device, leave as 0.
1403 1386
 	 */
@@ -1455,6 +1438,18 @@ static int undi_probe ( struct dev *dev ) {
1455 1438
 	return 0;
1456 1439
 }
1457 1440
 
1458
-BOOT_DRIVER ( "UNDI", undi_probe );
1441
+/* UNDI driver states that it is suitable for any PCI NIC (i.e. any
1442
+ * PCI device of class PCI_CLASS_NETWORK_ETHERNET).  If there are any
1443
+ * obscure UNDI NICs that have the incorrect PCI class, add them to
1444
+ * this list.
1445
+ */
1446
+static struct pci_id undi_nics[] = {
1447
+	PCI_ROM ( 0x0000, 0x0000, "undi", "UNDI driver support" ),
1448
+};
1449
+
1450
+static struct pci_driver undi_driver =
1451
+	PCI_DRIVER ( "UNDI", undi_nics, PCI_CLASS_NETWORK_ETHERNET );
1452
+
1453
+BOOT_DRIVER ( "UNDI", find_pci_boot_device, undi_driver, undi_probe );
1459 1454
 
1460 1455
 #endif /* PCBIOS */

Loading…
İptal
Kaydet