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/sky2.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/sky2.c')
-rw-r--r-- | drivers/net/sky2.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/net/sky2.c b/drivers/net/sky2.c index 251505125cb8..3668e81e474d 100644 --- a/drivers/net/sky2.c +++ b/drivers/net/sky2.c | |||
@@ -4047,6 +4047,7 @@ static const struct net_device_ops sky2_netdev_ops[2] = { | |||
4047 | { | 4047 | { |
4048 | .ndo_open = sky2_up, | 4048 | .ndo_open = sky2_up, |
4049 | .ndo_stop = sky2_down, | 4049 | .ndo_stop = sky2_down, |
4050 | .ndo_start_xmit = sky2_xmit_frame, | ||
4050 | .ndo_do_ioctl = sky2_ioctl, | 4051 | .ndo_do_ioctl = sky2_ioctl, |
4051 | .ndo_validate_addr = eth_validate_addr, | 4052 | .ndo_validate_addr = eth_validate_addr, |
4052 | .ndo_set_mac_address = sky2_set_mac_address, | 4053 | .ndo_set_mac_address = sky2_set_mac_address, |
@@ -4063,6 +4064,7 @@ static const struct net_device_ops sky2_netdev_ops[2] = { | |||
4063 | { | 4064 | { |
4064 | .ndo_open = sky2_up, | 4065 | .ndo_open = sky2_up, |
4065 | .ndo_stop = sky2_down, | 4066 | .ndo_stop = sky2_down, |
4067 | .ndo_start_xmit = sky2_xmit_frame, | ||
4066 | .ndo_do_ioctl = sky2_ioctl, | 4068 | .ndo_do_ioctl = sky2_ioctl, |
4067 | .ndo_validate_addr = eth_validate_addr, | 4069 | .ndo_validate_addr = eth_validate_addr, |
4068 | .ndo_set_mac_address = sky2_set_mac_address, | 4070 | .ndo_set_mac_address = sky2_set_mac_address, |
@@ -4090,7 +4092,6 @@ static __devinit struct net_device *sky2_init_netdev(struct sky2_hw *hw, | |||
4090 | 4092 | ||
4091 | SET_NETDEV_DEV(dev, &hw->pdev->dev); | 4093 | SET_NETDEV_DEV(dev, &hw->pdev->dev); |
4092 | dev->irq = hw->pdev->irq; | 4094 | dev->irq = hw->pdev->irq; |
4093 | dev->hard_start_xmit = sky2_xmit_frame; | ||
4094 | SET_ETHTOOL_OPS(dev, &sky2_ethtool_ops); | 4095 | SET_ETHTOOL_OPS(dev, &sky2_ethtool_ops); |
4095 | dev->watchdog_timeo = TX_WATCHDOG; | 4096 | dev->watchdog_timeo = TX_WATCHDOG; |
4096 | dev->netdev_ops = &sky2_netdev_ops[port]; | 4097 | dev->netdev_ops = &sky2_netdev_ops[port]; |