]> pilppa.com Git - linux-2.6-omap-h63xx.git/commitdiff
sfc: convert to net_device_ops
authorStephen Hemminger <shemminger@vyatta.com>
Sat, 22 Nov 2008 01:32:54 +0000 (17:32 -0800)
committerDavid S. Miller <davem@davemloft.net>
Sat, 22 Nov 2008 01:32:54 +0000 (17:32 -0800)
Convert driver to new net_device_ops. Compile tested only.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Acked-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/sfc/efx.c

index ac7bdbf3fd4abf7e9a562cfd3e4e122d005ad5a4..e5024bb8a46e1bb56389cb8bb6780d163f2beb3d 100644 (file)
@@ -1433,12 +1433,28 @@ static void efx_set_multicast_list(struct net_device *net_dev)
        falcon_set_multicast_hash(efx);
 }
 
+static const struct net_device_ops efx_netdev_ops = {
+       .ndo_open               = efx_net_open,
+       .ndo_stop               = efx_net_stop,
+       .ndo_get_stats          = efx_net_stats,
+       .ndo_tx_timeout         = efx_watchdog,
+       .ndo_start_xmit         = efx_hard_start_xmit,
+       .ndo_validate_addr      = eth_validate_addr,
+       .ndo_do_ioctl           = efx_ioctl,
+       .ndo_change_mtu         = efx_change_mtu,
+       .ndo_set_mac_address    = efx_set_mac_address,
+       .ndo_set_multicast_list = efx_set_multicast_list,
+#ifdef CONFIG_NET_POLL_CONTROLLER
+       .ndo_poll_controller = efx_netpoll,
+#endif
+};
+
 static int efx_netdev_event(struct notifier_block *this,
                            unsigned long event, void *ptr)
 {
        struct net_device *net_dev = ptr;
 
-       if (net_dev->open == efx_net_open && event == NETDEV_CHANGENAME) {
+       if (net_dev->netdev_ops == &efx_netdev_ops && event == NETDEV_CHANGENAME) {
                struct efx_nic *efx = netdev_priv(net_dev);
 
                strcpy(efx->name, net_dev->name);
@@ -1459,18 +1475,7 @@ static int efx_register_netdev(struct efx_nic *efx)
 
        net_dev->watchdog_timeo = 5 * HZ;
        net_dev->irq = efx->pci_dev->irq;
-       net_dev->open = efx_net_open;
-       net_dev->stop = efx_net_stop;
-       net_dev->get_stats = efx_net_stats;
-       net_dev->tx_timeout = &efx_watchdog;
-       net_dev->hard_start_xmit = efx_hard_start_xmit;
-       net_dev->do_ioctl = efx_ioctl;
-       net_dev->change_mtu = efx_change_mtu;
-       net_dev->set_mac_address = efx_set_mac_address;
-       net_dev->set_multicast_list = efx_set_multicast_list;
-#ifdef CONFIG_NET_POLL_CONTROLLER
-       net_dev->poll_controller = efx_netpoll;
-#endif
+       net_dev->netdev_ops = &efx_netdev_ops;
        SET_NETDEV_DEV(net_dev, &efx->pci_dev->dev);
        SET_ETHTOOL_OPS(net_dev, &efx_ethtool_ops);