ipw2100: convert to net_device_ops
authorStephen Hemminger <shemminger@vyatta.com>
Fri, 20 Mar 2009 19:36:40 +0000 (19:36 +0000)
committerDavid S. Miller <davem@davemloft.net>
Sun, 22 Mar 2009 05:55:32 +0000 (22:55 -0700)
Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/wireless/ipw2x00/ipw2100.c

index 425ba8b0b0f1ff85ce6643ad9e81a87f3cb2541b..115b704875027fc794079b1a3ac856b8c4641ecb 100644 (file)
@@ -6008,6 +6008,17 @@ static void ipw2100_rf_kill(struct work_struct *work)
 
 static void ipw2100_irq_tasklet(struct ipw2100_priv *priv);
 
+static const struct net_device_ops ipw2100_netdev_ops = {
+       .ndo_open               = ipw2100_open,
+       .ndo_stop               = ipw2100_close,
+       .ndo_start_xmit         = ieee80211_xmit,
+       .ndo_change_mtu         = ieee80211_change_mtu,
+       .ndo_init               = ipw2100_net_init,
+       .ndo_tx_timeout         = ipw2100_tx_timeout,
+       .ndo_set_mac_address    = ipw2100_set_address,
+       .ndo_validate_addr      = eth_validate_addr,
+};
+
 /* Look into using netdev destructor to shutdown ieee80211? */
 
 static struct net_device *ipw2100_alloc_device(struct pci_dev *pci_dev,
@@ -6032,15 +6043,11 @@ static struct net_device *ipw2100_alloc_device(struct pci_dev *pci_dev,
        priv->ieee->perfect_rssi = -20;
        priv->ieee->worst_rssi = -85;
 
-       dev->open = ipw2100_open;
-       dev->stop = ipw2100_close;
-       dev->init = ipw2100_net_init;
+       dev->netdev_ops = &ipw2100_netdev_ops;
        dev->ethtool_ops = &ipw2100_ethtool_ops;
-       dev->tx_timeout = ipw2100_tx_timeout;
        dev->wireless_handlers = &ipw2100_wx_handler_def;
        priv->wireless_data.ieee80211 = priv->ieee;
        dev->wireless_data = &priv->wireless_data;
-       dev->set_mac_address = ipw2100_set_address;
        dev->watchdog_timeo = 3 * HZ;
        dev->irq = 0;