winbond840: stop using net_device.{base_addr, irq}.

Signed-off-by: Francois Romieu <romieu@fr.zoreil.com>
This commit is contained in:
Francois Romieu 2012-03-09 23:37:01 +01:00
parent c0357e975a
commit c0bd55efd7

View File

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