summaryrefslogtreecommitdiffstats
path: root/src/drivers/net/3c509-eisa.c
diff options
context:
space:
mode:
authorMichael Brown2005-04-22 13:57:35 +0200
committerMichael Brown2005-04-22 13:57:35 +0200
commite596c42adeb8c5dd73e5494a7acd2cd75328ff08 (patch)
tree506d8b84e052a2cb28b4e4feb066ce62fa9a1d6c /src/drivers/net/3c509-eisa.c
parentUpdated to new API. (diff)
downloadipxe-e596c42adeb8c5dd73e5494a7acd2cd75328ff08.tar.gz
ipxe-e596c42adeb8c5dd73e5494a7acd2cd75328ff08.tar.xz
ipxe-e596c42adeb8c5dd73e5494a7acd2cd75328ff08.zip
Updated to current API.
Diffstat (limited to 'src/drivers/net/3c509-eisa.c')
-rw-r--r--src/drivers/net/3c509-eisa.c18
1 files changed, 10 insertions, 8 deletions
diff --git a/src/drivers/net/3c509-eisa.c b/src/drivers/net/3c509-eisa.c
index a0cda042..33861769 100644
--- a/src/drivers/net/3c509-eisa.c
+++ b/src/drivers/net/3c509-eisa.c
@@ -13,26 +13,28 @@
* The EISA probe function
*
*/
-static int el3_eisa_probe ( struct dev *dev, struct eisa_device *eisa ) {
- struct nic *nic = nic_device ( dev );
+static int el3_eisa_probe ( struct nic *nic, struct eisa_device *eisa ) {
enable_eisa_device ( eisa );
- nic->ioaddr = eisa->ioaddr;
- nic->irqno = 0;
- printf ( "3C5x9 board on EISA at %#hx - ", nic->ioaddr );
+ eisa_fill_nic ( nic, eisa );
/* Hand off to generic t5x9 probe routine */
return t5x9_probe ( nic, ISA_PROD_ID ( PROD_ID ), ISA_PROD_ID_MASK );
}
+static void el3_eisa_disable ( struct nic *nic, struct eisa_device *eisa ) {
+ t5x9_disable ( nic );
+ disable_eisa_device ( eisa );
+}
+
static struct eisa_id el3_eisa_adapters[] = {
{ "3Com 3c509 EtherLink III (EISA)", MFG_ID, PROD_ID },
};
static struct eisa_driver el3_eisa_driver =
- EISA_DRIVER ( "3c509 (EISA)", el3_eisa_adapters );
+ EISA_DRIVER ( el3_eisa_adapters );
-BOOT_DRIVER ( "3c509 (EISA)", find_eisa_boot_device, el3_eisa_driver,
- el3_eisa_probe );
+DRIVER ( "3c509 (EISA)", nic_driver, eisa_driver, el3_eisa_driver,
+ el3_eisa_probe, el3_eisa_disable );
ISA_ROM ( "3c509-eisa","3c509 (EISA)" );