Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
[linux-2.6.git] / drivers / net / ipg.c
index ba8d246..72e3d2d 100644 (file)
@@ -22,6 +22,7 @@
  */
 #include <linux/crc32.h>
 #include <linux/ethtool.h>
+#include <linux/gfp.h>
 #include <linux/mii.h>
 #include <linux/mutex.h>
 
@@ -88,17 +89,15 @@ static const char *ipg_brand_name[] = {
        "Sundance Technology ST2021 based NIC",
        "Tamarack Microelectronics TC9020/9021 based NIC",
        "Tamarack Microelectronics TC9020/9021 based NIC",
-       "D-Link NIC",
        "D-Link NIC IP1000A"
 };
 
-static struct pci_device_id ipg_pci_tbl[] __devinitdata = {
+static DEFINE_PCI_DEVICE_TABLE(ipg_pci_tbl) = {
        { PCI_VDEVICE(SUNDANCE, 0x1023), 0 },
        { PCI_VDEVICE(SUNDANCE, 0x2021), 1 },
        { PCI_VDEVICE(SUNDANCE, 0x1021), 2 },
        { PCI_VDEVICE(DLINK,    0x9021), 3 },
-       { PCI_VDEVICE(DLINK,    0x4000), 4 },
-       { PCI_VDEVICE(DLINK,    0x4020), 5 },
+       { PCI_VDEVICE(DLINK,    0x4020), 4 },
        { 0, }
 };
 
@@ -571,7 +570,7 @@ static int ipg_config_autoneg(struct net_device *dev)
 static void ipg_nic_set_multicast_list(struct net_device *dev)
 {
        void __iomem *ioaddr = ipg_ioaddr(dev);
-       struct dev_mc_list *mc_list_ptr;
+       struct netdev_hw_addr *ha;
        unsigned int hashindex;
        u32 hashtable[2];
        u8 receivemode;
@@ -585,11 +584,11 @@ static void ipg_nic_set_multicast_list(struct net_device *dev)
                receivemode = IPG_RM_RECEIVEALLFRAMES;
        } else if ((dev->flags & IFF_ALLMULTI) ||
                   ((dev->flags & IFF_MULTICAST) &&
-                   (dev->mc_count > IPG_MULTICAST_HASHTABLE_SIZE))) {
+                   (netdev_mc_count(dev) > IPG_MULTICAST_HASHTABLE_SIZE))) {
                /* NIC to be configured to receive all multicast
                 * frames. */
                receivemode |= IPG_RM_RECEIVEMULTICAST;
-       } else if ((dev->flags & IFF_MULTICAST) && (dev->mc_count > 0)) {
+       } else if ((dev->flags & IFF_MULTICAST) && !netdev_mc_empty(dev)) {
                /* NIC to be configured to receive selected
                 * multicast addresses. */
                receivemode |= IPG_RM_RECEIVEMULTICASTHASH;
@@ -610,10 +609,9 @@ static void ipg_nic_set_multicast_list(struct net_device *dev)
        hashtable[1] = 0x00000000;
 
        /* Cycle through all multicast addresses to filter. */
-       for (mc_list_ptr = dev->mc_list;
-            mc_list_ptr != NULL; mc_list_ptr = mc_list_ptr->next) {
+       netdev_for_each_mc_addr(ha, dev) {
                /* Calculate CRC result for each multicast address. */
-               hashindex = crc32_le(0xffffffff, mc_list_ptr->dmi_addr,
+               hashindex = crc32_le(0xffffffff, ha->addr,
                                     ETH_ALEN);
 
                /* Use only the least significant 6 bits. */
@@ -1550,8 +1548,6 @@ static void ipg_reset_after_host_error(struct work_struct *work)
                container_of(work, struct ipg_nic_private, task.work);
        struct net_device *dev = sp->dev;
 
-       IPG_DDEBUG_MSG("DMACtrl = %8.8x\n", ioread32(sp->ioaddr + IPG_DMACTRL));
-
        /*
         * Acknowledge HostError interrupt by resetting
         * IPG DMA and HOST.
@@ -1828,9 +1824,6 @@ static int ipg_nic_stop(struct net_device *dev)
 
        netif_stop_queue(dev);
 
-       IPG_DDEBUG_MSG("RFDlistendCount = %i\n", sp->RFDlistendCount);
-       IPG_DDEBUG_MSG("RFDListCheckedCount = %i\n", sp->rxdCheckedCount);
-       IPG_DDEBUG_MSG("EmptyRFDListCount = %i\n", sp->EmptyRFDListCount);
        IPG_DUMPTFDLIST(dev);
 
        do {