|
@@ -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" );
|