|
@@ -343,7 +343,18 @@ static int netdev_ioctl(struct net_device *dev, struct ifreq *rq, int cmd);
|
|
|
static const struct ethtool_ops netdev_ethtool_ops;
|
|
|
static int netdev_close(struct net_device *dev);
|
|
|
|
|
|
-
|
|
|
+static const struct net_device_ops netdev_ops = {
|
|
|
+ .ndo_open = netdev_open,
|
|
|
+ .ndo_stop = netdev_close,
|
|
|
+ .ndo_start_xmit = start_tx,
|
|
|
+ .ndo_get_stats = get_stats,
|
|
|
+ .ndo_set_multicast_list = set_rx_mode,
|
|
|
+ .ndo_do_ioctl = netdev_ioctl,
|
|
|
+ .ndo_tx_timeout = tx_timeout,
|
|
|
+ .ndo_change_mtu = eth_change_mtu,
|
|
|
+ .ndo_set_mac_address = eth_mac_addr,
|
|
|
+ .ndo_validate_addr = eth_validate_addr,
|
|
|
+};
|
|
|
|
|
|
static int __devinit w840_probe1 (struct pci_dev *pdev,
|
|
|
const struct pci_device_id *ent)
|
|
@@ -420,14 +431,8 @@ static int __devinit w840_probe1 (struct pci_dev *pdev,
|
|
|
np->mii_if.force_media = 1;
|
|
|
|
|
|
/* The chip-specific entries in the device structure. */
|
|
|
- dev->open = &netdev_open;
|
|
|
- dev->hard_start_xmit = &start_tx;
|
|
|
- dev->stop = &netdev_close;
|
|
|
- dev->get_stats = &get_stats;
|
|
|
- dev->set_multicast_list = &set_rx_mode;
|
|
|
- dev->do_ioctl = &netdev_ioctl;
|
|
|
+ dev->netdev_ops = &netdev_ops;
|
|
|
dev->ethtool_ops = &netdev_ethtool_ops;
|
|
|
- dev->tx_timeout = &tx_timeout;
|
|
|
dev->watchdog_timeo = TX_TIMEOUT;
|
|
|
|
|
|
i = register_netdev(dev);
|
|
@@ -1555,7 +1560,7 @@ static void __devexit w840_remove1 (struct pci_dev *pdev)
|
|
|
* rtnl_lock, & netif_device_detach after the rtnl_unlock.
|
|
|
* - get_stats:
|
|
|
* spin_lock_irq(np->lock), doesn't touch hw if not present
|
|
|
- * - hard_start_xmit:
|
|
|
+ * - start_xmit:
|
|
|
* synchronize_irq + netif_tx_disable;
|
|
|
* - tx_timeout:
|
|
|
* netif_device_detach + netif_tx_disable;
|