]> err.no Git - linux-2.6/blobdiff - drivers/net/epic100.c
forcedeth: tx max work
[linux-2.6] / drivers / net / epic100.c
index 05c9a26a74e29b9a850af4d09f32e76a91b86c0c..3a6a83d3ee1cea872823419e8642d78c49e3e622 100644 (file)
@@ -26,8 +26,8 @@
 */
 
 #define DRV_NAME        "epic100"
-#define DRV_VERSION     "2.0"
-#define DRV_RELDATE     "June 27, 2006"
+#define DRV_VERSION     "2.1"
+#define DRV_RELDATE     "Sept 11, 2006"
 
 /* The user-configurable values.
    These may be modified when a driver module is loaded.*/
@@ -297,9 +297,9 @@ static void epic_init_ring(struct net_device *dev);
 static int epic_start_xmit(struct sk_buff *skb, struct net_device *dev);
 static int epic_rx(struct net_device *dev, int budget);
 static int epic_poll(struct net_device *dev, int *budget);
-static irqreturn_t epic_interrupt(int irq, void *dev_instance, struct pt_regs *regs);
+static irqreturn_t epic_interrupt(int irq, void *dev_instance);
 static int netdev_ioctl(struct net_device *dev, struct ifreq *rq, int cmd);
-static struct ethtool_ops netdev_ethtool_ops;
+static const struct ethtool_ops netdev_ethtool_ops;
 static int epic_close(struct net_device *dev);
 static struct net_device_stats *epic_get_stats(struct net_device *dev);
 static void set_rx_mode(struct net_device *dev);
@@ -335,7 +335,7 @@ static int __devinit epic_init_one (struct pci_dev *pdev,
        irq = pdev->irq;
 
        if (pci_resource_len(pdev, 0) < EPIC_TOTAL_SIZE) {
-               dev_printk(KERN_ERR, &pdev->dev, "no PCI region space\n");
+               dev_err(&pdev->dev, "no PCI region space\n");
                ret = -ENODEV;
                goto err_out_disable;
        }
@@ -350,7 +350,7 @@ static int __devinit epic_init_one (struct pci_dev *pdev,
 
        dev = alloc_etherdev(sizeof (*ep));
        if (!dev) {
-               dev_printk(KERN_ERR, &pdev->dev, "no memory for eth device\n");
+               dev_err(&pdev->dev, "no memory for eth device\n");
                goto err_out_free_res;
        }
        SET_MODULE_OWNER(dev);
@@ -362,7 +362,7 @@ static int __devinit epic_init_one (struct pci_dev *pdev,
        ioaddr = pci_resource_start (pdev, 1);
        ioaddr = (long) ioremap (ioaddr, pci_resource_len (pdev, 1));
        if (!ioaddr) {
-               dev_printk(KERN_ERR, &pdev->dev, "ioremap failed\n");
+               dev_err(&pdev->dev, "ioremap failed\n");
                goto err_out_free_netdev;
        }
 #endif
@@ -422,8 +422,7 @@ static int __devinit epic_init_one (struct pci_dev *pdev,
                ((u16 *)dev->dev_addr)[i] = le16_to_cpu(inw(ioaddr + LAN0 + i*4));
 
        if (debug > 2) {
-               printk(KERN_DEBUG DRV_NAME "(%s): EEPROM contents\n",
-                      pci_name(pdev));
+               dev_printk(KERN_DEBUG, &pdev->dev, "EEPROM contents:\n");
                for (i = 0; i < 64; i++)
                        printk(" %4.4x%s", read_eeprom(ioaddr, i),
                                   i % 16 == 15 ? "\n" : "");
@@ -445,21 +444,23 @@ static int __devinit epic_init_one (struct pci_dev *pdev,
                        int mii_status = mdio_read(dev, phy, MII_BMSR);
                        if (mii_status != 0xffff  &&  mii_status != 0x0000) {
                                ep->phys[phy_idx++] = phy;
-                               printk(KERN_INFO DRV_NAME "(%s): MII transceiver #%d control "
-                                          "%4.4x status %4.4x.\n",
-                                          pci_name(pdev), phy, mdio_read(dev, phy, 0), mii_status);
+                               dev_info(&pdev->dev,
+                                       "MII transceiver #%d control "
+                                       "%4.4x status %4.4x.\n",
+                                       phy, mdio_read(dev, phy, 0), mii_status);
                        }
                }
                ep->mii_phy_cnt = phy_idx;
                if (phy_idx != 0) {
                        phy = ep->phys[0];
                        ep->mii.advertising = mdio_read(dev, phy, MII_ADVERTISE);
-                       printk(KERN_INFO DRV_NAME "(%s): Autonegotiation advertising %4.4x link "
+                       dev_info(&pdev->dev,
+                               "Autonegotiation advertising %4.4x link "
                                   "partner %4.4x.\n",
-                                  pci_name(pdev), ep->mii.advertising, mdio_read(dev, phy, 5));
+                                  ep->mii.advertising, mdio_read(dev, phy, 5));
                } else if ( ! (ep->chip_flags & NO_MII)) {
-                       printk(KERN_WARNING DRV_NAME "(%s): ***WARNING***: No MII transceiver found!\n",
-                              pci_name(pdev));
+                       dev_warn(&pdev->dev,
+                               "***WARNING***: No MII transceiver found!\n");
                        /* Use the known PHY address of the EPII. */
                        ep->phys[0] = 3;
                }
@@ -474,8 +475,7 @@ static int __devinit epic_init_one (struct pci_dev *pdev,
        /* The lower four bits are the media type. */
        if (duplex) {
                ep->mii.force_media = ep->mii.full_duplex = 1;
-               printk(KERN_INFO DRV_NAME "(%s):  Forced full duplex operation requested.\n",
-                      pci_name(pdev));
+               dev_info(&pdev->dev, "Forced full duplex requested.\n");
        }
        dev->if_port = ep->default_port = option;
 
@@ -1081,7 +1081,7 @@ static void epic_tx(struct net_device *dev, struct epic_private *ep)
 
 /* The interrupt handler does all of the Rx thread work and cleans up
    after the Tx thread. */
-static irqreturn_t epic_interrupt(int irq, void *dev_instance, struct pt_regs *regs)
+static irqreturn_t epic_interrupt(int irq, void *dev_instance)
 {
        struct net_device *dev = dev_instance;
        struct epic_private *ep = dev->priv;
@@ -1386,7 +1386,6 @@ static void set_rx_mode(struct net_device *dev)
        if (dev->flags & IFF_PROMISC) {                 /* Set promiscuous. */
                outl(0x002C, ioaddr + RxCtrl);
                /* Unconditionally log net taps. */
-               printk(KERN_INFO "%s: Promiscuous mode enabled.\n", dev->name);
                memset(mc_filter, 0xff, sizeof(mc_filter));
        } else if ((dev->mc_count > 0)  ||  (dev->flags & IFF_ALLMULTI)) {
                /* There is apparently a chip bug, so the multicast filter
@@ -1493,7 +1492,7 @@ static void ethtool_complete(struct net_device *dev)
        }
 }
 
-static struct ethtool_ops netdev_ethtool_ops = {
+static const struct ethtool_ops netdev_ethtool_ops = {
        .get_drvinfo            = netdev_get_drvinfo,
        .get_settings           = netdev_get_settings,
        .set_settings           = netdev_set_settings,
@@ -1604,7 +1603,7 @@ static int __init epic_init (void)
                version, version2, version3);
 #endif
 
-       return pci_module_init (&epic_driver);
+       return pci_register_driver(&epic_driver);
 }