prism54: convert to internal net_device_stats
[pandora-kernel.git] / drivers / net / wireless / prism54 / islpci_dev.c
index 9196825..166ed95 100644 (file)
@@ -43,7 +43,6 @@
 
 static int prism54_bring_down(islpci_private *);
 static int islpci_alloc_memory(islpci_private *);
-static struct net_device_stats *islpci_statistics(struct net_device *);
 
 /* Temporary dummy MAC address to use until firmware is loaded.
  * The idea there is that some tools (such as nameif) may query
@@ -614,18 +613,6 @@ islpci_reset(islpci_private *priv, int reload_firmware)
        return rc;
 }
 
-static struct net_device_stats *
-islpci_statistics(struct net_device *ndev)
-{
-       islpci_private *priv = netdev_priv(ndev);
-
-#if VERBOSE > SHOW_ERROR_MESSAGES
-       DEBUG(SHOW_FUNCTION_CALLS, "islpci_statistics\n");
-#endif
-
-       return &priv->statistics;
-}
-
 /******************************************************************************
     Network device configuration functions
 ******************************************************************************/
@@ -804,10 +791,22 @@ static void islpci_ethtool_get_drvinfo(struct net_device *dev,
        strcpy(info->version, DRV_VERSION);
 }
 
-static struct ethtool_ops islpci_ethtool_ops = {
+static const struct ethtool_ops islpci_ethtool_ops = {
        .get_drvinfo = islpci_ethtool_get_drvinfo,
 };
 
+static const struct net_device_ops islpci_netdev_ops = {
+       .ndo_open               = islpci_open,
+       .ndo_stop               = islpci_close,
+       .ndo_do_ioctl           = prism54_ioctl,
+       .ndo_start_xmit         = islpci_eth_transmit,
+       .ndo_tx_timeout         = islpci_eth_tx_timeout,
+       .ndo_set_mac_address    = prism54_set_mac_address,
+       .ndo_change_mtu         = eth_change_mtu,
+       .ndo_set_mac_address    = eth_mac_addr,
+       .ndo_validate_addr      = eth_validate_addr,
+};
+
 struct net_device *
 islpci_setup(struct pci_dev *pdev)
 {
@@ -827,25 +826,16 @@ islpci_setup(struct pci_dev *pdev)
        ndev->irq = pdev->irq;
 
        /* initialize the function pointers */
-       ndev->open = &islpci_open;
-       ndev->stop = &islpci_close;
-       ndev->get_stats = &islpci_statistics;
-       ndev->do_ioctl = &prism54_ioctl;
-       ndev->wireless_handlers =
-           (struct iw_handler_def *) &prism54_handler_def;
+       ndev->netdev_ops = &islpci_netdev_ops;
+       ndev->wireless_handlers = &prism54_handler_def;
        ndev->ethtool_ops = &islpci_ethtool_ops;
 
-       ndev->hard_start_xmit = &islpci_eth_transmit;
        /* ndev->set_multicast_list = &islpci_set_multicast_list; */
        ndev->addr_len = ETH_ALEN;
-       ndev->set_mac_address = &prism54_set_mac_address;
        /* Get a non-zero dummy MAC address for nameif. Jean II */
        memcpy(ndev->dev_addr, dummy_mac, 6);
 
-#ifdef HAVE_TX_TIMEOUT
        ndev->watchdog_timeo = ISLPCI_TX_TIMEOUT;
-       ndev->tx_timeout = &islpci_eth_tx_timeout;
-#endif
 
        /* allocate a private device structure to the network device  */
        priv = netdev_priv(ndev);