winbond840: stop using net_device.{base_addr, irq}.
authorFrancois Romieu <romieu@fr.zoreil.com>
Fri, 9 Mar 2012 22:37:01 +0000 (23:37 +0100)
committerFrancois Romieu <romieu@fr.zoreil.com>
Sat, 7 Apr 2012 09:45:26 +0000 (11:45 +0200)
Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
drivers/net/ethernet/dec/tulip/winbond-840.c

index 2ac6fff..4d1ffca 100644 (file)
@@ -400,9 +400,6 @@ static int __devinit w840_probe1 (struct pci_dev *pdev,
           No hold time required! */
        iowrite32(0x00000001, ioaddr + PCIBusCfg);
 
-       dev->base_addr = (unsigned long)ioaddr;
-       dev->irq = irq;
-
        np = netdev_priv(dev);
        np->pci_dev = pdev;
        np->chip_id = chip_idx;
@@ -635,17 +632,18 @@ static int netdev_open(struct net_device *dev)
 {
        struct netdev_private *np = netdev_priv(dev);
        void __iomem *ioaddr = np->base_addr;
+       const int irq = np->pci_dev->irq;
        int i;
 
        iowrite32(0x00000001, ioaddr + PCIBusCfg);              /* Reset */
 
        netif_device_detach(dev);
-       i = request_irq(dev->irq, intr_handler, IRQF_SHARED, dev->name, dev);
+       i = request_irq(irq, intr_handler, IRQF_SHARED, dev->name, dev);
        if (i)
                goto out_err;
 
        if (debug > 1)
-               netdev_dbg(dev, "w89c840_open() irq %d\n", dev->irq);
+               netdev_dbg(dev, "w89c840_open() irq %d\n", irq);
 
        if((i=alloc_ringdesc(dev)))
                goto out_err;
@@ -932,6 +930,7 @@ static void tx_timeout(struct net_device *dev)
 {
        struct netdev_private *np = netdev_priv(dev);
        void __iomem *ioaddr = np->base_addr;
+       const int irq = np->pci_dev->irq;
 
        dev_warn(&dev->dev, "Transmit timed out, status %08x, resetting...\n",
                 ioread32(ioaddr + IntrStatus));
@@ -951,7 +950,7 @@ static void tx_timeout(struct net_device *dev)
               np->cur_tx, np->dirty_tx, np->tx_full, np->tx_q_bytes);
        printk(KERN_DEBUG "Tx Descriptor addr %xh\n", ioread32(ioaddr+0x4C));
 
-       disable_irq(dev->irq);
+       disable_irq(irq);
        spin_lock_irq(&np->lock);
        /*
         * Under high load dirty_tx and the internal tx descriptor pointer
@@ -966,7 +965,7 @@ static void tx_timeout(struct net_device *dev)
        init_rxtx_rings(dev);
        init_registers(dev);
        spin_unlock_irq(&np->lock);
-       enable_irq(dev->irq);
+       enable_irq(irq);
 
        netif_wake_queue(dev);
        dev->trans_start = jiffies; /* prevent tx timeout */
@@ -1500,7 +1499,7 @@ static int netdev_close(struct net_device *dev)
        iowrite32(0x0000, ioaddr + IntrEnable);
        spin_unlock_irq(&np->lock);
 
-       free_irq(dev->irq, dev);
+       free_irq(np->pci_dev->irq, dev);
        wmb();
        netif_device_attach(dev);
 
@@ -1589,7 +1588,7 @@ static int w840_suspend (struct pci_dev *pdev, pm_message_t state)
                iowrite32(0, ioaddr + IntrEnable);
                spin_unlock_irq(&np->lock);
 
-               synchronize_irq(dev->irq);
+               synchronize_irq(np->pci_dev->irq);
                netif_tx_disable(dev);
 
                np->stats.rx_missed_errors += ioread32(ioaddr + RxMissed) & 0xffff;