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 */ 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 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