aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ar71xx/patches-2.6.30/802-ag71xx-use-netdev-ops.patch
blob: f619611c64bcd23acbe8444ac70e993908a7b449 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
--- a/drivers/net/ag71xx/ag71xx_main.c
+++ b/drivers/net/ag71xx/ag71xx_main.c
@@ -811,6 +811,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;
@@ -886,14 +898,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);