• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Split out from 3c509.c, since EISA cards are relatively rare, and
3  * ROM space in 3c509s is very limited.
4  *
5  */
6 
7 #include <gpxe/eisa.h>
8 #include <gpxe/isa.h>
9 #include "console.h"
10 #include "3c509.h"
11 
12 /*
13  * The EISA probe function
14  *
15  */
el3_eisa_probe(struct nic * nic,struct eisa_device * eisa)16 static int el3_eisa_probe ( struct nic *nic, struct eisa_device *eisa ) {
17 
18 
19         nic->ioaddr = eisa->ioaddr;
20         nic->irqno = 0;
21         enable_eisa_device ( eisa );
22 
23 	/* Hand off to generic t5x9 probe routine */
24 	return t5x9_probe ( nic, ISA_PROD_ID ( PROD_ID ), ISA_PROD_ID_MASK );
25 }
26 
el3_eisa_disable(struct nic * nic,struct eisa_device * eisa)27 static void el3_eisa_disable ( struct nic *nic, struct eisa_device *eisa ) {
28 	t5x9_disable ( nic );
29 	disable_eisa_device ( eisa );
30 }
31 
32 static struct eisa_device_id el3_eisa_adapters[] = {
33 	{ "3Com 3c509 EtherLink III (EISA)", MFG_ID, PROD_ID },
34 };
35 
36 EISA_DRIVER ( el3_eisa_driver, el3_eisa_adapters );
37 
38 DRIVER ( "3c509 (EISA)", nic_driver, eisa_driver, el3_eisa_driver,
39 	 el3_eisa_probe, el3_eisa_disable );
40 
41 ISA_ROM ( "3c509-eisa","3c509 (EISA)" );
42 
43 /*
44  * Local variables:
45  *  c-basic-offset: 8
46  *  c-indent-level: 8
47  *  tab-width: 8
48  * End:
49  */
50