ソースを参照

Updated to current device API.

tags/v0.9.3
Michael Brown 19年前
コミット
e0a8ee385e
1個のファイルの変更20行の追加20行の削除
  1. 20
    20
      src/drivers/net/3c529.c

+ 20
- 20
src/drivers/net/3c529.c ファイルの表示

@@ -10,31 +10,18 @@
10 10
 #include "3c509.h"
11 11
 
12 12
 /*
13
- * This table and several other pieces of the MCA support
14
- * code were shamelessly borrowed from the Linux kernel source.
13
+ * Several other pieces of the MCA support code were shamelessly
14
+ * borrowed from the Linux kernel source.
15 15
  *
16 16
  * MCA support added by Adam Fritzler (mid@auk.cx)
17 17
  *
18
+ * Generalised out of the 3c529 driver and into a bus type by Michael
19
+ * Brown <mbrown@fensystems.co.uk>
20
+ *
18 21
  */
19
-static struct mca_id el3_mca_adapters[] = {
20
-        { "3Com 3c529 EtherLink III (10base2)", 0x627c },
21
-        { "3Com 3c529 EtherLink III (10baseT)", 0x627d },
22
-        { "3Com 3c529 EtherLink III (test mode)", 0x62db },
23
-        { "3Com 3c529 EtherLink III (TP or coax)", 0x62f6 },
24
-        { "3Com 3c529 EtherLink III (TP)", 0x62f7 },
25
-};
26
-
27
-static struct mca_driver t529_driver
28
-	= MCA_DRIVER ( "3c529", el3_mca_adapters );
29 22
 
30
-ISA_ROM( "3c529", "3c529 == MCA 3c509" );
31
-
32
-static int t529_probe ( struct dev *dev ) {
23
+static int t529_probe ( struct dev *dev, struct mca_device *mca ) {
33 24
 	struct nic *nic = nic_device ( dev );
34
-	struct mca_device *mca = mca_device ( dev );
35
-
36
-	if ( ! find_mca_device ( mca, &t529_driver ) )
37
-		return 0;
38 25
 
39 26
 	/* Retrieve NIC parameters from MCA device parameters */
40 27
 	nic->ioaddr = ( ( mca->pos[4] & 0xfc ) | 0x02 ) << 8;
@@ -46,4 +33,17 @@ static int t529_probe ( struct dev *dev ) {
46 33
 	return t5x9_probe ( nic, MCA_ID ( mca ), 0xffff );
47 34
 }
48 35
 
49
-BOOT_DRIVER ( "3c529", t529_probe );
36
+static struct mca_id el3_mca_adapters[] = {
37
+        { "3Com 3c529 EtherLink III (10base2)", 0x627c },
38
+        { "3Com 3c529 EtherLink III (10baseT)", 0x627d },
39
+        { "3Com 3c529 EtherLink III (test mode)", 0x62db },
40
+        { "3Com 3c529 EtherLink III (TP or coax)", 0x62f6 },
41
+        { "3Com 3c529 EtherLink III (TP)", 0x62f7 },
42
+};
43
+
44
+static struct mca_driver t529_driver
45
+	= MCA_DRIVER ( "3c529", el3_mca_adapters );
46
+
47
+BOOT_DRIVER ( "3c529", find_mca_boot_device, &t529_driver, t529_probe );
48
+
49
+ISA_ROM( "3c529", "3c529 == MCA 3c509" );

読み込み中…
キャンセル
保存