aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ar71xx/patches-2.6.32/802-ag71xx-use-netdev-ops.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/ar71xx/patches-2.6.32/802-ag71xx-use-netdev-ops.patch')
-rw-r--r--target/linux/ar71xx/patches-2.6.32/802-ag71xx-use-netdev-ops.patch37
1 files changed, 37 insertions, 0 deletions
diff --git a/target/linux/ar71xx/patches-2.6.32/802-ag71xx-use-netdev-ops.patch b/target/linux/ar71xx/patches-2.6.32/802-ag71xx-use-netdev-ops.patch
new file mode 100644
index 0000000000..3824d55a65
--- /dev/null
+++ b/target/linux/ar71xx/patches-2.6.32/802-ag71xx-use-netdev-ops.patch
@@ -0,0 +1,37 @@
+--- a/drivers/net/ag71xx/ag71xx_main.c
++++ b/drivers/net/ag71xx/ag71xx_main.c
+@@ -809,6 +809,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;
+@@ -884,14 +896,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);