From: Roger Luethi - remove Rhine model names (per Jeff's request) - remove redundant calls to clear MII cmd - fill some rhine_private fields earlier Signed-off-by: Roger Luethi Signed-off-by: Andrew Morton --- 25-akpm/drivers/net/via-rhine.c | 52 ++++++++++++---------------------------- 1 files changed, 16 insertions(+), 36 deletions(-) diff -puN drivers/net/via-rhine.c~via-rhine-small-fixes drivers/net/via-rhine.c --- 25/drivers/net/via-rhine.c~via-rhine-small-fixes 2004-08-08 13:51:48.756614152 -0700 +++ 25-akpm/drivers/net/via-rhine.c 2004-08-08 13:51:48.760613544 -0700 @@ -346,7 +346,7 @@ enum rhine_revs { VT6105L = 0x8A, VT6107 = 0x8C, VTunknown2 = 0x8E, - VT6105M = 0x90, + VT6105M = 0x90, /* Management adapter */ }; enum rhine_quirks { @@ -485,9 +485,7 @@ struct rhine_private { dma_addr_t tx_bufs_dma; struct pci_dev *pdev; -#ifdef CONFIG_PM long pioaddr; -#endif struct net_device_stats stats; spinlock_t lock; @@ -596,7 +594,7 @@ static void rhine_power_init(struct net_ default: reason = "Unknown"; } - printk("%s: Woke system up. Reason: %s.\n", + printk(KERN_INFO "%s: Woke system up. Reason: %s.\n", DRV_NAME, reason); } } @@ -706,7 +704,7 @@ static int __devinit rhine_init_one(stru long memaddr; long ioaddr; int io_size, phy_id; - const char *name, *mname; + const char *name; /* when built into the kernel, we only print version if device is found */ #ifndef MODULE @@ -721,41 +719,24 @@ static int __devinit rhine_init_one(stru phy_id = 0; quirks = 0; name = "Rhine"; - mname = "unknown"; if (pci_rev < VTunknown0) { quirks = rqRhineI; io_size = 128; - mname = "VT86C100A"; } else if (pci_rev >= VT6102) { quirks = rqWOL | rqForceReset; if (pci_rev < VT6105) { name = "Rhine II"; quirks |= rqStatusWBRace; /* Rhine-II exclusive */ - if (pci_rev < VT8231) - mname = "VT6102"; - else if (pci_rev < VT8233) - mname = "VT8231"; - else if (pci_rev < VT8235) - mname = "VT8233"; - else if (pci_rev < VT8237) - mname = "VT8235"; - else if (pci_rev < VTunknown1) - mname = "VT8237"; } else { - name = "Rhine III"; phy_id = 1; /* Integrated PHY, phy_id fixed to 1 */ if (pci_rev >= VT6105_B0) quirks |= rq6patterns; - if (pci_rev < VT6105L) - mname = "VT6105"; - else if (pci_rev < VT6107) - mname = "VT6105L"; - else if (pci_rev < VT6105M) - mname = "VT6107"; - else if (pci_rev >= VT6105M) - mname = "Management Adapter VT6105M"; + if (pci_rev < VT6105M) + name = "Rhine III"; + else + name = "Rhine III (Management Adapter)"; } } @@ -793,6 +774,11 @@ static int __devinit rhine_init_one(stru SET_MODULE_OWNER(dev); SET_NETDEV_DEV(dev, &pdev->dev); + rp = netdev_priv(dev); + rp->quirks = quirks; + rp->pioaddr = pioaddr; + rp->pdev = pdev; + rc = pci_request_regions(pdev, DRV_NAME); if (rc) goto err_out_free_netdev; @@ -826,11 +812,6 @@ static int __devinit rhine_init_one(stru #endif /* USE_MMIO */ dev->base_addr = ioaddr; - rp = netdev_priv(dev); - rp->quirks = quirks; -#ifdef CONFIG_PM - rp->pioaddr = pioaddr; -#endif /* Get chip registers into a sane state */ rhine_power_init(dev); @@ -852,7 +833,6 @@ static int __devinit rhine_init_one(stru dev->irq = pdev->irq; spin_lock_init(&rp->lock); - rp->pdev = pdev; rp->mii_if.dev = dev; rp->mii_if.mdio_read = mdio_read; rp->mii_if.mdio_write = mdio_write; @@ -880,8 +860,8 @@ static int __devinit rhine_init_one(stru if (rc) goto err_out_unmap; - printk(KERN_INFO "%s: VIA %s (%s) at 0x%lx, ", - dev->name, name, mname, + printk(KERN_INFO "%s: VIA %s at 0x%lx, ", + dev->name, name, #ifdef USE_MMIO memaddr #else @@ -1181,7 +1161,7 @@ static int mdio_read(struct net_device * rhine_disable_linkmon(ioaddr, rp->quirks); - writeb(0, ioaddr + MIICmd); + /* rhine_disable_linkmon already cleared MIICmd */ writeb(phy_id, ioaddr + MIIPhyAddr); writeb(regnum, ioaddr + MIIRegAddr); writeb(0x40, ioaddr + MIICmd); /* Trigger read */ @@ -1199,7 +1179,7 @@ static void mdio_write(struct net_device rhine_disable_linkmon(ioaddr, rp->quirks); - writeb(0, ioaddr + MIICmd); + /* rhine_disable_linkmon already cleared MIICmd */ writeb(phy_id, ioaddr + MIIPhyAddr); writeb(regnum, ioaddr + MIIRegAddr); writew(value, ioaddr + MIIData); _