summaryrefslogtreecommitdiffstats
path: root/src/drivers/net/legacy.c
diff options
context:
space:
mode:
authorMichael Brown2007-01-04 05:20:08 +0100
committerMichael Brown2007-01-04 05:20:08 +0100
commit0c03bb5a9a0649ec7009e334c0e42290af330437 (patch)
treed523c7ba2ae84b0998b7e8121d70a603d6fd087a /src/drivers/net/legacy.c
parentWe *should* use the persistent reference API for our netdev reference, (diff)
downloadipxe-0c03bb5a9a0649ec7009e334c0e42290af330437.tar.gz
ipxe-0c03bb5a9a0649ec7009e334c0e42290af330437.tar.xz
ipxe-0c03bb5a9a0649ec7009e334c0e42290af330437.zip
Make open() and close() an official part of the netdevice API.
Call netdevice's poll() and transmit() methods only when device is open.
Diffstat (limited to 'src/drivers/net/legacy.c')
-rw-r--r--src/drivers/net/legacy.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/drivers/net/legacy.c b/src/drivers/net/legacy.c
index b0023b18..0c205aed 100644
--- a/src/drivers/net/legacy.c
+++ b/src/drivers/net/legacy.c
@@ -56,6 +56,14 @@ static void legacy_poll ( struct net_device *netdev ) {
}
}
+static int legacy_open ( struct net_device *netdev __unused ) {
+ return 0;
+}
+
+static void legacy_close ( struct net_device *netdev __unused ) {
+ /* Nothing to do */
+}
+
int legacy_probe ( struct pci_device *pci,
const struct pci_device_id *id __unused,
int ( * probe ) ( struct nic *nic,
@@ -74,6 +82,8 @@ int legacy_probe ( struct pci_device *pci,
memset ( &nic, 0, sizeof ( nic ) );
pci_set_drvdata ( pci, netdev );
+ netdev->open = legacy_open;
+ netdev->close = legacy_close;
netdev->transmit = legacy_transmit;
netdev->poll = legacy_poll;
nic.node_addr = netdev->ll_addr;