diff options
Diffstat (limited to 'drivers/net/r6040.c')
| -rw-r--r-- | drivers/net/r6040.c | 49 | 
1 files changed, 22 insertions, 27 deletions
diff --git a/drivers/net/r6040.c b/drivers/net/r6040.c index 15d5373dc8f..41229164559 100644 --- a/drivers/net/r6040.c +++ b/drivers/net/r6040.c @@ -29,7 +29,6 @@  #include <linux/timer.h>  #include <linux/errno.h>  #include <linux/ioport.h> -#include <linux/slab.h>  #include <linux/interrupt.h>  #include <linux/pci.h>  #include <linux/netdevice.h> @@ -135,7 +134,7 @@  #define RX_DESC_SIZE	(RX_DCNT * sizeof(struct r6040_descriptor))  #define TX_DESC_SIZE	(TX_DCNT * sizeof(struct r6040_descriptor))  #define MBCR_DEFAULT	0x012A	/* MAC Bus Control Register */ -#define MCAST_MAX	4	/* Max number multicast addresses to filter */ +#define MCAST_MAX	3	/* Max number multicast addresses to filter */  /* Descriptor status */  #define DSC_OWNER_MAC	0x8000	/* MAC is the owner of this descriptor */ @@ -331,7 +330,7 @@ static int r6040_alloc_rxbufs(struct net_device *dev)  	do {  		skb = netdev_alloc_skb(dev, MAX_BUF_SIZE);  		if (!skb) { -			printk(KERN_ERR DRV_NAME "%s: failed to alloc skb for rx\n", dev->name); +			netdev_err(dev, "failed to alloc skb for rx\n");  			rc = -ENOMEM;  			goto err_exit;  		} @@ -411,9 +410,9 @@ static void r6040_tx_timeout(struct net_device *dev)  	struct r6040_private *priv = netdev_priv(dev);  	void __iomem *ioaddr = priv->base; -	printk(KERN_WARNING "%s: transmit timed out, int enable %4.4x " +	netdev_warn(dev, "transmit timed out, int enable %4.4x "  		"status %4.4x, PHY status %4.4x\n", -		dev->name, ioread16(ioaddr + MIER), +		ioread16(ioaddr + MIER),  		ioread16(ioaddr + MISR),  		r6040_mdio_read(dev, priv->mii_if.phy_id, MII_BMSR)); @@ -898,7 +897,7 @@ static netdev_tx_t r6040_start_xmit(struct sk_buff *skb,  	if (!lp->tx_free_desc) {  		spin_unlock_irqrestore(&lp->lock, flags);  		netif_stop_queue(dev); -		printk(KERN_ERR DRV_NAME ": no tx descriptor\n"); +		netdev_err(dev, ": no tx descriptor\n");  		return NETDEV_TX_BUSY;  	} @@ -938,7 +937,7 @@ static void r6040_multicast_list(struct net_device *dev)  	u16 *adrp;  	u16 reg;  	unsigned long flags; -	struct dev_mc_list *dmi; +	struct netdev_hw_addr *ha;  	int i;  	/* MAC Address */ @@ -973,8 +972,8 @@ static void r6040_multicast_list(struct net_device *dev)  		for (i = 0; i < 4; i++)  			hash_table[i] = 0; -		netdev_for_each_mc_addr(dmi, dev) { -			char *addrs = dmi->dmi_addr; +		netdev_for_each_mc_addr(ha, dev) { +			char *addrs = ha->addr;  			if (!(*addrs & 1))  				continue; @@ -983,9 +982,6 @@ static void r6040_multicast_list(struct net_device *dev)  			crc >>= 26;  			hash_table[crc >> 4] |= 1 << (15 - (crc & 0xf));  		} -		/* Write the index of the hash table */ -		for (i = 0; i < 4; i++) -			iowrite16(hash_table[i] << 14, ioaddr + MCR1);  		/* Fill the MAC hash tables with their values */  		iowrite16(hash_table[0], ioaddr + MAR0);  		iowrite16(hash_table[1], ioaddr + MAR1); @@ -994,16 +990,16 @@ static void r6040_multicast_list(struct net_device *dev)  	}  	/* Multicast Address 1~4 case */  	i = 0; -	netdev_for_each_mc_addr(dmi, dev) { +	netdev_for_each_mc_addr(ha, dev) {  		if (i < MCAST_MAX) { -			adrp = (u16 *) dmi->dmi_addr; +			adrp = (u16 *) ha->addr;  			iowrite16(adrp[0], ioaddr + MID_1L + 8 * i);  			iowrite16(adrp[1], ioaddr + MID_1M + 8 * i);  			iowrite16(adrp[2], ioaddr + MID_1H + 8 * i);  		} else { -			iowrite16(0xffff, ioaddr + MID_0L + 8 * i); -			iowrite16(0xffff, ioaddr + MID_0M + 8 * i); -			iowrite16(0xffff, ioaddr + MID_0H + 8 * i); +			iowrite16(0xffff, ioaddr + MID_1L + 8 * i); +			iowrite16(0xffff, ioaddr + MID_1M + 8 * i); +			iowrite16(0xffff, ioaddr + MID_1H + 8 * i);  		}  		i++;  	} @@ -1094,20 +1090,20 @@ static int __devinit r6040_init_one(struct pci_dev *pdev,  	/* this should always be supported */  	err = pci_set_dma_mask(pdev, DMA_BIT_MASK(32));  	if (err) { -		printk(KERN_ERR DRV_NAME ": 32-bit PCI DMA addresses" +		dev_err(&pdev->dev, "32-bit PCI DMA addresses"  				"not supported by the card\n");  		goto err_out;  	}  	err = pci_set_consistent_dma_mask(pdev, DMA_BIT_MASK(32));  	if (err) { -		printk(KERN_ERR DRV_NAME ": 32-bit PCI DMA addresses" +		dev_err(&pdev->dev, "32-bit PCI DMA addresses"  				"not supported by the card\n");  		goto err_out;  	}  	/* IO Size check */  	if (pci_resource_len(pdev, bar) < io_size) { -		printk(KERN_ERR DRV_NAME ": Insufficient PCI resources, aborting\n"); +		dev_err(&pdev->dev, "Insufficient PCI resources, aborting\n");  		err = -EIO;  		goto err_out;  	} @@ -1116,7 +1112,7 @@ static int __devinit r6040_init_one(struct pci_dev *pdev,  	dev = alloc_etherdev(sizeof(struct r6040_private));  	if (!dev) { -		printk(KERN_ERR DRV_NAME ": Failed to allocate etherdev\n"); +		dev_err(&pdev->dev, "Failed to allocate etherdev\n");  		err = -ENOMEM;  		goto err_out;  	} @@ -1126,14 +1122,13 @@ static int __devinit r6040_init_one(struct pci_dev *pdev,  	err = pci_request_regions(pdev, DRV_NAME);  	if (err) { -		printk(KERN_ERR DRV_NAME ": Failed to request PCI regions\n"); +		dev_err(&pdev->dev, "Failed to request PCI regions\n");  		goto err_out_free_dev;  	}  	ioaddr = pci_iomap(pdev, bar, io_size);  	if (!ioaddr) { -		printk(KERN_ERR DRV_NAME ": ioremap failed for device %s\n", -			pci_name(pdev)); +		dev_err(&pdev->dev, "ioremap failed for device\n");  		err = -EIO;  		goto err_out_free_res;  	} @@ -1160,7 +1155,7 @@ static int __devinit r6040_init_one(struct pci_dev *pdev,  	/* Some bootloader/BIOSes do not initialize  	 * MAC address, warn about that */  	if (!(adrp[0] || adrp[1] || adrp[2])) { -		printk(KERN_WARNING DRV_NAME ": MAC address not initialized, generating random\n"); +		netdev_warn(dev, "MAC address not initialized, generating random\n");  		random_ether_addr(dev->dev_addr);  	} @@ -1188,7 +1183,7 @@ static int __devinit r6040_init_one(struct pci_dev *pdev,  	/* Check the vendor ID on the PHY, if 0xffff assume none attached */  	if (r6040_phy_read(ioaddr, lp->phy_addr, 2) == 0xffff) { -		printk(KERN_ERR DRV_NAME ": Failed to detect an attached PHY\n"); +		dev_err(&pdev->dev, "Failed to detect an attached PHY\n");  		err = -ENODEV;  		goto err_out_unmap;  	} @@ -1196,7 +1191,7 @@ static int __devinit r6040_init_one(struct pci_dev *pdev,  	/* Register net device. After this dev->name assign */  	err = register_netdev(dev);  	if (err) { -		printk(KERN_ERR DRV_NAME ": Failed to register net device\n"); +		dev_err(&pdev->dev, "Failed to register net device\n");  		goto err_out_unmap;  	}  	return 0;  |