iPXE
3c509-eisa.c
Go to the documentation of this file.
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 <ipxe/eisa.h>
8 #include <ipxe/isa.h>
9 #include "3c509.h"
10 
11 /*
12  * The EISA probe function
13  *
14  */
15 static int el3_eisa_probe ( struct nic *nic, struct eisa_device *eisa ) {
16 
17 
18  nic->ioaddr = eisa->ioaddr;
19  nic->irqno = 0;
20  enable_eisa_device ( eisa );
21 
22  /* Hand off to generic t5x9 probe routine */
24 }
25 
26 static void el3_eisa_disable ( struct nic *nic, struct eisa_device *eisa ) {
27  t5x9_disable ( nic );
28  disable_eisa_device ( eisa );
29 }
30 
31 static struct eisa_device_id el3_eisa_adapters[] = {
32  { "3Com 3c509 EtherLink III (EISA)", MFG_ID, PROD_ID },
33 };
34 
35 EISA_DRIVER ( el3_eisa_driver, el3_eisa_adapters );
36 
37 DRIVER ( "3c509 (EISA)", nic_driver, eisa_driver, el3_eisa_driver,
39 
40 ISA_ROM ( "3c509-eisa","3c509 (EISA)" );
41 
42 /*
43  * Local variables:
44  * c-basic-offset: 8
45  * c-indent-level: 8
46  * tab-width: 8
47  * End:
48  */
unsigned char irqno
Definition: nic.h:56
void t5x9_disable(struct nic *nic)
Definition: 3c5x9.c:40
An EISA device.
Definition: eisa.h:38
static void enable_eisa_device(struct eisa_device *eisa)
Enable EISA device.
Definition: eisa.h:95
#define PROD_ID
Definition: 3c509.h:375
DRIVER("3c509 (EISA)", nic_driver, eisa_driver, el3_eisa_driver, el3_eisa_probe, el3_eisa_disable)
unsigned int ioaddr
Definition: nic.h:55
An EISA device ID list entry.
Definition: eisa.h:28
EISA_DRIVER(el3_eisa_driver, el3_eisa_adapters)
static void disable_eisa_device(struct eisa_device *eisa)
Disable EISA device.
Definition: eisa.h:104
An EISA driver.
Definition: eisa.h:60
static int el3_eisa_probe(struct nic *nic, struct eisa_device *eisa)
Definition: 3c509-eisa.c:15
static void el3_eisa_disable(struct nic *nic, struct eisa_device *eisa)
Definition: 3c509-eisa.c:26
Definition: nic.h:49
#define MFG_ID
Definition: 3c509.h:374
uint16_t ioaddr
I/O address.
Definition: eisa.h:44
#define ISA_PROD_ID(product)
Definition: isa_ids.h:45
ISA_ROM("3c509-eisa","3c509 (EISA)")
int t5x9_probe(struct nic *nic, uint16_t prod_id_check, uint16_t prod_id_mask)
Definition: 3c5x9.c:342
static struct eisa_device_id el3_eisa_adapters[]
Definition: 3c509-eisa.c:31
#define ISA_PROD_ID_MASK
Definition: isa_ids.h:44