diff options
Diffstat (limited to 'target/linux/ar71xx/patches-2.6.31/802-ag71xx-use-netdev-ops.patch')
-rw-r--r-- | target/linux/ar71xx/patches-2.6.31/802-ag71xx-use-netdev-ops.patch | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/target/linux/ar71xx/patches-2.6.31/802-ag71xx-use-netdev-ops.patch b/target/linux/ar71xx/patches-2.6.31/802-ag71xx-use-netdev-ops.patch new file mode 100644 index 0000000000..a692b734aa --- /dev/null +++ b/target/linux/ar71xx/patches-2.6.31/802-ag71xx-use-netdev-ops.patch @@ -0,0 +1,37 @@ +--- a/drivers/net/ag71xx/ag71xx_main.c ++++ b/drivers/net/ag71xx/ag71xx_main.c +@@ -791,6 +791,18 @@ static void ag71xx_set_multicast_list(st + /* TODO */ + } + ++static const struct net_device_ops ag71xx_netdev_ops = { ++ .ndo_open = ag71xx_open, ++ .ndo_stop = ag71xx_stop, ++ .ndo_start_xmit = ag71xx_hard_start_xmit, ++ .ndo_set_multicast_list = ag71xx_set_multicast_list, ++ .ndo_do_ioctl = ag71xx_do_ioctl, ++ .ndo_tx_timeout = ag71xx_tx_timeout, ++ .ndo_change_mtu = eth_change_mtu, ++ .ndo_set_mac_address = eth_mac_addr, ++ .ndo_validate_addr = eth_validate_addr, ++}; ++ + static int __init ag71xx_probe(struct platform_device *pdev) + { + struct net_device *dev; +@@ -875,14 +887,9 @@ static int __init ag71xx_probe(struct pl + } + + dev->base_addr = (unsigned long)ag->mac_base; +- dev->open = ag71xx_open; +- dev->stop = ag71xx_stop; +- dev->hard_start_xmit = ag71xx_hard_start_xmit; +- dev->set_multicast_list = ag71xx_set_multicast_list; +- dev->do_ioctl = ag71xx_do_ioctl; ++ dev->netdev_ops = &ag71xx_netdev_ops; + dev->ethtool_ops = &ag71xx_ethtool_ops; + +- dev->tx_timeout = ag71xx_tx_timeout; + INIT_WORK(&ag->restart_work, ag71xx_restart_work_func); + + init_timer(&ag->oom_timer); |