diff options
author | Michael Brown | 2007-01-04 05:20:08 +0100 |
---|---|---|
committer | Michael Brown | 2007-01-04 05:20:08 +0100 |
commit | 0c03bb5a9a0649ec7009e334c0e42290af330437 (patch) | |
tree | d523c7ba2ae84b0998b7e8121d70a603d6fd087a /src/drivers/net/legacy.c | |
parent | We *should* use the persistent reference API for our netdev reference, (diff) | |
download | ipxe-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.c | 10 |
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; |