a692b734aac3592229a1eb44132bebedbdccc03e
[openwrt/svn-archive/archive.git] / target / linux / ar71xx / patches-2.6.30 / 802-ag71xx-use-netdev-ops.patch
1 --- a/drivers/net/ag71xx/ag71xx_main.c
2 +++ b/drivers/net/ag71xx/ag71xx_main.c
3 @@ -791,6 +791,18 @@ static void ag71xx_set_multicast_list(st
4 /* TODO */
5 }
6
7 +static const struct net_device_ops ag71xx_netdev_ops = {
8 + .ndo_open = ag71xx_open,
9 + .ndo_stop = ag71xx_stop,
10 + .ndo_start_xmit = ag71xx_hard_start_xmit,
11 + .ndo_set_multicast_list = ag71xx_set_multicast_list,
12 + .ndo_do_ioctl = ag71xx_do_ioctl,
13 + .ndo_tx_timeout = ag71xx_tx_timeout,
14 + .ndo_change_mtu = eth_change_mtu,
15 + .ndo_set_mac_address = eth_mac_addr,
16 + .ndo_validate_addr = eth_validate_addr,
17 +};
18 +
19 static int __init ag71xx_probe(struct platform_device *pdev)
20 {
21 struct net_device *dev;
22 @@ -875,14 +887,9 @@ static int __init ag71xx_probe(struct pl
23 }
24
25 dev->base_addr = (unsigned long)ag->mac_base;
26 - dev->open = ag71xx_open;
27 - dev->stop = ag71xx_stop;
28 - dev->hard_start_xmit = ag71xx_hard_start_xmit;
29 - dev->set_multicast_list = ag71xx_set_multicast_list;
30 - dev->do_ioctl = ag71xx_do_ioctl;
31 + dev->netdev_ops = &ag71xx_netdev_ops;
32 dev->ethtool_ops = &ag71xx_ethtool_ops;
33
34 - dev->tx_timeout = ag71xx_tx_timeout;
35 INIT_WORK(&ag->restart_work, ag71xx_restart_work_func);
36
37 init_timer(&ag->oom_timer);