diff options
author | Stephen Hemminger <shemminger@vyatta.com> | 2008-11-20 23:14:53 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-11-20 23:14:53 -0500 |
commit | 008298231abbeb91bc7be9e8b078607b816d1a4a (patch) | |
tree | 8cb0c17720086ef97c614b96241f06aa63ce8511 /drivers/net/acenic.c | |
parent | 6ab33d51713d6d60c7677c0d020910a8cb37e513 (diff) |
netdev: add more functions to netdevice ops
This patch moves neigh_setup and hard_start_xmit into the network device ops
structure. For bisection, fix all the previously converted drivers as well.
Bonding driver took the biggest hit on this.
Added a prefetch of the hard_start_xmit in the fast path to try and reduce
any impact this would have.
Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/acenic.c')
-rw-r--r-- | drivers/net/acenic.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/net/acenic.c b/drivers/net/acenic.c index 309a90ea9211..21d24320210a 100644 --- a/drivers/net/acenic.c +++ b/drivers/net/acenic.c | |||
@@ -455,10 +455,13 @@ static const struct net_device_ops ace_netdev_ops = { | |||
455 | .ndo_stop = ace_close, | 455 | .ndo_stop = ace_close, |
456 | .ndo_tx_timeout = ace_watchdog, | 456 | .ndo_tx_timeout = ace_watchdog, |
457 | .ndo_get_stats = ace_get_stats, | 457 | .ndo_get_stats = ace_get_stats, |
458 | .ndo_start_xmit = ace_start_xmit, | ||
458 | .ndo_set_multicast_list = ace_set_multicast_list, | 459 | .ndo_set_multicast_list = ace_set_multicast_list, |
459 | .ndo_set_mac_address = ace_set_mac_addr, | 460 | .ndo_set_mac_address = ace_set_mac_addr, |
460 | .ndo_change_mtu = ace_change_mtu, | 461 | .ndo_change_mtu = ace_change_mtu, |
462 | #if ACENIC_DO_VLAN | ||
461 | .ndo_vlan_rx_register = ace_vlan_rx_register, | 463 | .ndo_vlan_rx_register = ace_vlan_rx_register, |
464 | #endif | ||
462 | }; | 465 | }; |
463 | 466 | ||
464 | static int __devinit acenic_probe_one(struct pci_dev *pdev, | 467 | static int __devinit acenic_probe_one(struct pci_dev *pdev, |
@@ -489,7 +492,6 @@ static int __devinit acenic_probe_one(struct pci_dev *pdev, | |||
489 | dev->watchdog_timeo = 5*HZ; | 492 | dev->watchdog_timeo = 5*HZ; |
490 | 493 | ||
491 | dev->netdev_ops = &ace_netdev_ops; | 494 | dev->netdev_ops = &ace_netdev_ops; |
492 | dev->hard_start_xmit = &ace_start_xmit; | ||
493 | SET_ETHTOOL_OPS(dev, &ace_ethtool_ops); | 495 | SET_ETHTOOL_OPS(dev, &ace_ethtool_ops); |
494 | 496 | ||
495 | /* we only display this string ONCE */ | 497 | /* we only display this string ONCE */ |