mwl8k: remove (mostly) write-only variable priv->current_channel
[safe/jmp/linux-2.6] / drivers / net / tokenring / lanstreamer.c
index 239c752..d6ccd59 100644 (file)
@@ -169,7 +169,7 @@ static char *open_min_error[] = {
        "Monitor Contention failer for RPL", "FDX Protocol Error"
 };
 
-/* Module paramters */
+/* Module parameters */
 
 /* Ring Speed 0,4,16
  * 0 = Autosense         
@@ -203,11 +203,11 @@ static int streamer_ioctl(struct net_device *, struct ifreq *, int);
 
 static int streamer_reset(struct net_device *dev);
 static int streamer_open(struct net_device *dev);
-static int streamer_xmit(struct sk_buff *skb, struct net_device *dev);
+static netdev_tx_t streamer_xmit(struct sk_buff *skb,
+                                      struct net_device *dev);
 static int streamer_close(struct net_device *dev);
 static void streamer_set_rx_mode(struct net_device *dev);
 static irqreturn_t streamer_interrupt(int irq, void *dev_id);
-static struct net_device_stats *streamer_get_stats(struct net_device *dev);
 static int streamer_set_mac_address(struct net_device *dev, void *addr);
 static void streamer_arb_cmd(struct net_device *dev);
 static int streamer_change_mtu(struct net_device *dev, int mtu);
@@ -222,6 +222,18 @@ struct streamer_private *dev_streamer=NULL;
 #endif
 #endif
 
+static const struct net_device_ops streamer_netdev_ops = {
+       .ndo_open               = streamer_open,
+       .ndo_stop               = streamer_close,
+       .ndo_start_xmit         = streamer_xmit,
+       .ndo_change_mtu         = streamer_change_mtu,
+#if STREAMER_IOCTL
+       .ndo_do_ioctl           = streamer_ioctl,
+#endif
+       .ndo_set_multicast_list = streamer_set_rx_mode,
+       .ndo_set_mac_address    = streamer_set_mac_address,
+};
+
 static int __devinit streamer_init_one(struct pci_dev *pdev,
                                       const struct pci_device_id *ent)
 {
@@ -256,7 +268,7 @@ static int __devinit streamer_init_one(struct pci_dev *pdev,
 #endif
 #endif
 
-       rc = pci_set_dma_mask(pdev, DMA_32BIT_MASK);
+       rc = pci_set_dma_mask(pdev, DMA_BIT_MASK(32));
        if (rc) {
                printk(KERN_ERR "%s: No suitable PCI mapping available.\n",
                                dev->name);
@@ -321,18 +333,7 @@ static int __devinit streamer_init_one(struct pci_dev *pdev,
        init_waitqueue_head(&streamer_priv->srb_wait);
        init_waitqueue_head(&streamer_priv->trb_wait);
 
-       dev->open = &streamer_open;
-       dev->hard_start_xmit = &streamer_xmit;
-       dev->change_mtu = &streamer_change_mtu;
-       dev->stop = &streamer_close;
-#if STREAMER_IOCTL
-       dev->do_ioctl = &streamer_ioctl;
-#else
-       dev->do_ioctl = NULL;
-#endif
-       dev->set_multicast_list = &streamer_set_rx_mode;
-       dev->get_stats = &streamer_get_stats;
-       dev->set_mac_address = &streamer_set_mac_address;
+       dev->netdev_ops = &streamer_netdev_ops;
        dev->irq = pdev->irq;
        dev->base_addr=pio_start;
        SET_NETDEV_DEV(dev, &pdev->dev);
@@ -595,7 +596,7 @@ static int streamer_open(struct net_device *dev)
                rc=streamer_reset(dev);
        }
 
-       if (request_irq(dev->irq, &streamer_interrupt, IRQF_SHARED, "lanstreamer", dev)) {
+       if (request_irq(dev->irq, streamer_interrupt, IRQF_SHARED, "lanstreamer", dev)) {
                return -EAGAIN;
        }
 #if STREAMER_DEBUG
@@ -616,8 +617,6 @@ static int streamer_open(struct net_device *dev)
        printk("SISR Mask = %04x\n", readw(streamer_mmio + SISR_MASK));
 #endif
        do {
-               int i;
-
                for (i = 0; i < SRB_COMMAND_SIZE; i += 2) {
                        writew(0, streamer_mmio + LAPDINC);
                }
@@ -713,8 +712,8 @@ static int streamer_open(struct net_device *dev)
                                        strcat(open_error, " - ");
                                        strcat(open_error, open_min_error[(error_code & 0x0f)]);
 
-                                       if (!streamer_priv->streamer_ring_speed
-                                           && ((error_code & 0x0f) == 0x0d)) 
+                                       if (!streamer_priv->streamer_ring_speed &&
+                                           ((error_code & 0x0f) == 0x0d))
                                        {
                                                printk(KERN_WARNING "%s: Tried to autosense ring speed with no monitors present\n", dev->name);
                                                printk(KERN_WARNING "%s: Please try again with a specified ring speed \n", dev->name);
@@ -937,7 +936,7 @@ static void streamer_rx(struct net_device *dev)
                        if (skb == NULL) 
                        {
                                printk(KERN_WARNING "%s: Not enough memory to copy packet to upper layers. \n", dev->name);
-                               streamer_priv->streamer_stats.rx_dropped++;
+                               dev->stats.rx_dropped++;
                        } else {        /* we allocated an skb OK */
                                if (buffer_cnt == 1) {
                                        /* release the DMA mapping */
@@ -1009,8 +1008,8 @@ static void streamer_rx(struct net_device *dev)
                                        /* send up to the protocol */
                                        netif_rx(skb);
                                }
-                               streamer_priv->streamer_stats.rx_packets++;
-                               streamer_priv->streamer_stats.rx_bytes += length;
+                               dev->stats.rx_packets++;
+                               dev->stats.rx_bytes += length;
                        }       /* if skb == null */
                }               /* end received without errors */
 
@@ -1033,8 +1032,8 @@ static irqreturn_t streamer_interrupt(int irq, void *dev_id)
        sisr = readw(streamer_mmio + SISR);
 
        while((sisr & (SISR_MI | SISR_SRB_REPLY | SISR_ADAPTER_CHECK | SISR_ASB_FREE | 
-                      SISR_ARB_CMD | SISR_TRB_REPLY | SISR_PAR_ERR | SISR_SERR_ERR))
-               && (max_intr > 0)) {
+                      SISR_ARB_CMD | SISR_TRB_REPLY | SISR_PAR_ERR | SISR_SERR_ERR)) &&
+             (max_intr > 0)) {
 
                if(sisr & SISR_PAR_ERR) {
                        writew(~SISR_PAR_ERR, streamer_mmio + SISR_RUM);
@@ -1053,8 +1052,8 @@ static irqreturn_t streamer_interrupt(int irq, void *dev_id)
                                while(streamer_priv->streamer_tx_ring[(streamer_priv->tx_ring_last_status + 1) & (STREAMER_TX_RING_SIZE - 1)].status) {
                                streamer_priv->tx_ring_last_status = (streamer_priv->tx_ring_last_status + 1) & (STREAMER_TX_RING_SIZE - 1);
                                streamer_priv->free_tx_ring_entries++;
-                               streamer_priv->streamer_stats.tx_bytes += streamer_priv->tx_ring_skb[streamer_priv->tx_ring_last_status]->len;
-                               streamer_priv->streamer_stats.tx_packets++;
+                               dev->stats.tx_bytes += streamer_priv->tx_ring_skb[streamer_priv->tx_ring_last_status]->len;
+                               dev->stats.tx_packets++;
                                dev_kfree_skb_irq(streamer_priv->tx_ring_skb[streamer_priv->tx_ring_last_status]);
                                streamer_priv->streamer_tx_ring[streamer_priv->tx_ring_last_status].buffer = 0xdeadbeef;
                                streamer_priv->streamer_tx_ring[streamer_priv->tx_ring_last_status].status = 0;
@@ -1143,7 +1142,8 @@ static irqreturn_t streamer_interrupt(int irq, void *dev_id)
        return IRQ_HANDLED;
 }
 
-static int streamer_xmit(struct sk_buff *skb, struct net_device *dev)
+static netdev_tx_t streamer_xmit(struct sk_buff *skb,
+                                      struct net_device *dev)
 {
        struct streamer_private *streamer_priv =
            netdev_priv(dev);
@@ -1185,11 +1185,11 @@ static int streamer_xmit(struct sk_buff *skb, struct net_device *dev)
 
                streamer_priv->tx_ring_free = (streamer_priv->tx_ring_free + 1) & (STREAMER_TX_RING_SIZE - 1);
                spin_unlock_irqrestore(&streamer_priv->streamer_lock,flags);
-               return 0;
+               return NETDEV_TX_OK;
        } else {
                netif_stop_queue(dev);
                spin_unlock_irqrestore(&streamer_priv->streamer_lock,flags);
-               return 1;
+               return NETDEV_TX_BUSY;
        }
 }
 
@@ -1484,13 +1484,6 @@ static void streamer_srb_bh(struct net_device *dev)
        }                       /* switch srb[0] */
 }
 
-static struct net_device_stats *streamer_get_stats(struct net_device *dev)
-{
-       struct streamer_private *streamer_priv;
-       streamer_priv = netdev_priv(dev);
-       return (struct net_device_stats *) &streamer_priv->streamer_stats;
-}
-
 static int streamer_set_mac_address(struct net_device *dev, void *addr)
 {
        struct sockaddr *saddr = addr;