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 */
16static 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
27static void el3_eisa_disable ( struct nic *nic, struct eisa_device *eisa ) {
28	t5x9_disable ( nic );
29	disable_eisa_device ( eisa );
30}
31
32static struct eisa_device_id el3_eisa_adapters[] = {
33	{ "3Com 3c509 EtherLink III (EISA)", MFG_ID, PROD_ID },
34};
35
36EISA_DRIVER ( el3_eisa_driver, el3_eisa_adapters );
37
38DRIVER ( "3c509 (EISA)", nic_driver, eisa_driver, el3_eisa_driver,
39	 el3_eisa_probe, el3_eisa_disable );
40
41ISA_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