]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/net/tokenring/3c359.c
[NET]: Nuke SET_MODULE_OWNER macro.
[linux-2.6-omap-h63xx.git] / drivers / net / tokenring / 3c359.c
index 412390ba142ecff7b14ba41f773403bda4ba6575..88d03c085d54b1bb85bec4b6741bae19e91dfec3 100644 (file)
@@ -130,7 +130,7 @@ static int xl_xmit(struct sk_buff *skb, struct net_device *dev);
 static void xl_dn_comp(struct net_device *dev); 
 static int xl_close(struct net_device *dev);
 static void xl_set_rx_mode(struct net_device *dev);
-static irqreturn_t xl_interrupt(int irq, void *dev_id, struct pt_regs *regs);
+static irqreturn_t xl_interrupt(int irq, void *dev_id);
 static struct net_device_stats * xl_get_stats(struct net_device *dev);
 static int xl_set_mac_address(struct net_device *dev, void *addr) ; 
 static void xl_arb_cmd(struct net_device *dev);
@@ -156,7 +156,7 @@ static void print_rx_state(struct net_device *dev) ;
 static void print_tx_state(struct net_device *dev)
 {
 
-       struct xl_private *xl_priv = (struct xl_private *)dev->priv ; 
+       struct xl_private *xl_priv = netdev_priv(dev);
        struct xl_tx_desc *txd ; 
        u8 __iomem *xl_mmio = xl_priv->xl_mmio ; 
        int i ; 
@@ -179,7 +179,7 @@ static void print_tx_state(struct net_device *dev)
 static void print_rx_state(struct net_device *dev)
 {
 
-       struct xl_private *xl_priv = (struct xl_private *)dev->priv ; 
+       struct xl_private *xl_priv = netdev_priv(dev);
        struct xl_rx_desc *rxd ; 
        u8 __iomem *xl_mmio = xl_priv->xl_mmio ; 
        int i ; 
@@ -213,7 +213,7 @@ static void print_rx_state(struct net_device *dev)
 
 static u16 xl_ee_read(struct net_device *dev, int ee_addr)
 { 
-       struct xl_private *xl_priv = (struct xl_private *)dev->priv ;
+       struct xl_private *xl_priv = netdev_priv(dev);
        u8 __iomem *xl_mmio = xl_priv->xl_mmio ; 
 
        /* Wait for EEProm to not be busy */
@@ -245,7 +245,7 @@ static u16 xl_ee_read(struct net_device *dev, int ee_addr)
 
 static void  xl_ee_write(struct net_device *dev, int ee_addr, u16 ee_value) 
 {
-       struct xl_private *xl_priv = (struct xl_private *)dev->priv ;
+       struct xl_private *xl_priv = netdev_priv(dev);
        u8 __iomem *xl_mmio = xl_priv->xl_mmio ; 
 
        /* Wait for EEProm to not be busy */
@@ -305,11 +305,11 @@ static int __devinit xl_probe(struct pci_dev *pdev,
                pci_release_regions(pdev) ; 
                return -ENOMEM ; 
        } 
-       xl_priv = dev->priv ; 
+       xl_priv = netdev_priv(dev);
 
 #if XL_DEBUG  
        printk("pci_device: %p, dev:%p, dev->priv: %p, ba[0]: %10x, ba[1]:%10x\n", 
-               pdev, dev, dev->priv, (unsigned int)pdev->resource[0].start, (unsigned int)pdev->resource[1].start) ;  
+               pdev, dev, netdev_priv(dev), (unsigned int)pdev->resource[0].start, (unsigned int)pdev->resource[1].start);
 #endif 
 
        dev->irq=pdev->irq;
@@ -344,7 +344,6 @@ static int __devinit xl_probe(struct pci_dev *pdev,
        dev->set_multicast_list=&xl_set_rx_mode;
        dev->get_stats=&xl_get_stats ;
        dev->set_mac_address=&xl_set_mac_address ; 
-       SET_MODULE_OWNER(dev); 
        SET_NETDEV_DEV(dev, &pdev->dev);
 
        pci_set_drvdata(pdev,dev) ; 
@@ -363,9 +362,9 @@ static int __devinit xl_probe(struct pci_dev *pdev,
 }
 
 
-static int __init xl_init(struct net_device *dev) 
+static int __devinit xl_init(struct net_device *dev) 
 {
-       struct xl_private *xl_priv = (struct xl_private *)dev->priv ;
+       struct xl_private *xl_priv = netdev_priv(dev);
 
        printk(KERN_INFO "%s \n", version);
        printk(KERN_INFO "%s: I/O at %hx, MMIO at %p, using irq %d\n",
@@ -385,7 +384,7 @@ static int __init xl_init(struct net_device *dev)
 
 static int xl_hw_reset(struct net_device *dev) 
 { 
-       struct xl_private *xl_priv = (struct xl_private *)dev->priv ;
+       struct xl_private *xl_priv = netdev_priv(dev);
        u8 __iomem *xl_mmio = xl_priv->xl_mmio ; 
        unsigned long t ; 
        u16 i ; 
@@ -568,7 +567,7 @@ static int xl_hw_reset(struct net_device *dev)
 
 static int xl_open(struct net_device *dev) 
 {
-       struct xl_private *xl_priv=(struct xl_private *)dev->priv;
+       struct xl_private *xl_priv=netdev_priv(dev);
        u8 __iomem *xl_mmio = xl_priv->xl_mmio ; 
        u8 i ; 
        u16 hwaddr[3] ; /* Should be u8[6] but we get word return values */
@@ -641,14 +640,14 @@ static int xl_open(struct net_device *dev)
         * Now to set up the Rx and Tx buffer structures
         */
        /* These MUST be on 8 byte boundaries */
-       xl_priv->xl_tx_ring = kmalloc((sizeof(struct xl_tx_desc) * XL_TX_RING_SIZE) + 7, GFP_DMA | GFP_KERNEL) ; 
+       xl_priv->xl_tx_ring = kzalloc((sizeof(struct xl_tx_desc) * XL_TX_RING_SIZE) + 7, GFP_DMA | GFP_KERNEL);
        if (xl_priv->xl_tx_ring == NULL) {
                printk(KERN_WARNING "%s: Not enough memory to allocate rx buffers.\n",
                                     dev->name);
                free_irq(dev->irq,dev);
                return -ENOMEM;
        }
-       xl_priv->xl_rx_ring = kmalloc((sizeof(struct xl_rx_desc) * XL_RX_RING_SIZE) +7, GFP_DMA | GFP_KERNEL) ; 
+       xl_priv->xl_rx_ring = kzalloc((sizeof(struct xl_rx_desc) * XL_RX_RING_SIZE) +7, GFP_DMA | GFP_KERNEL);
        if (xl_priv->xl_tx_ring == NULL) {
                printk(KERN_WARNING "%s: Not enough memory to allocate rx buffers.\n",
                                     dev->name);
@@ -656,8 +655,6 @@ static int xl_open(struct net_device *dev)
                kfree(xl_priv->xl_tx_ring);
                return -ENOMEM;
        }
-       memset(xl_priv->xl_tx_ring,0,sizeof(struct xl_tx_desc) * XL_TX_RING_SIZE) ; 
-       memset(xl_priv->xl_rx_ring,0,sizeof(struct xl_rx_desc) * XL_RX_RING_SIZE) ; 
 
         /* Setup Rx Ring */
         for (i=0 ; i < XL_RX_RING_SIZE ; i++) { 
@@ -726,7 +723,7 @@ static int xl_open(struct net_device *dev)
 
 static int xl_open_hw(struct net_device *dev) 
 { 
-       struct xl_private *xl_priv=(struct xl_private *)dev->priv;
+       struct xl_private *xl_priv=netdev_priv(dev);
        u8 __iomem *xl_mmio = xl_priv->xl_mmio ; 
        u16 vsoff ;
        char ver_str[33];  
@@ -875,7 +872,7 @@ static int xl_open_hw(struct net_device *dev)
 
 static void adv_rx_ring(struct net_device *dev) /* Advance rx_ring, cut down on bloat in xl_rx */ 
 {
-       struct xl_private *xl_priv=(struct xl_private *)dev->priv;
+       struct xl_private *xl_priv=netdev_priv(dev);
        int prev_ring_loc ; 
 
        prev_ring_loc = (xl_priv->rx_ring_tail + XL_RX_RING_SIZE - 1) & (XL_RX_RING_SIZE - 1);
@@ -890,7 +887,7 @@ static void adv_rx_ring(struct net_device *dev) /* Advance rx_ring, cut down on
 
 static void xl_rx(struct net_device *dev)
 {
-       struct xl_private *xl_priv=(struct xl_private *)dev->priv;
+       struct xl_private *xl_priv=netdev_priv(dev);
        u8 __iomem * xl_mmio = xl_priv->xl_mmio ; 
        struct sk_buff *skb, *skb2 ; 
        int frame_length = 0, copy_len = 0  ;   
@@ -933,20 +930,21 @@ static void xl_rx(struct net_device *dev)
                                return ;                                
                        }
        
-                       skb->dev = dev ; 
-
                        while (xl_priv->rx_ring_tail != temp_ring_loc) { 
                                copy_len = xl_priv->xl_rx_ring[xl_priv->rx_ring_tail].upfraglen & 0x7FFF ; 
                                frame_length -= copy_len ;  
                                pci_dma_sync_single_for_cpu(xl_priv->pdev,xl_priv->xl_rx_ring[xl_priv->rx_ring_tail].upfragaddr,xl_priv->pkt_buf_sz,PCI_DMA_FROMDEVICE) ;
-                               memcpy(skb_put(skb,copy_len), xl_priv->rx_ring_skb[xl_priv->rx_ring_tail]->data, copy_len) ; 
+                               skb_copy_from_linear_data(xl_priv->rx_ring_skb[xl_priv->rx_ring_tail],
+                                                         skb_put(skb, copy_len),
+                                                         copy_len);
                                pci_dma_sync_single_for_device(xl_priv->pdev,xl_priv->xl_rx_ring[xl_priv->rx_ring_tail].upfragaddr,xl_priv->pkt_buf_sz,PCI_DMA_FROMDEVICE) ;
                                adv_rx_ring(dev) ; 
                        } 
 
                        /* Now we have found the last fragment */
                        pci_dma_sync_single_for_cpu(xl_priv->pdev,xl_priv->xl_rx_ring[xl_priv->rx_ring_tail].upfragaddr,xl_priv->pkt_buf_sz,PCI_DMA_FROMDEVICE) ;
-                       memcpy(skb_put(skb,copy_len), xl_priv->rx_ring_skb[xl_priv->rx_ring_tail]->data, frame_length) ; 
+                       skb_copy_from_linear_data(xl_priv->rx_ring_skb[xl_priv->rx_ring_tail],
+                                     skb_put(skb,copy_len), frame_length);
 /*                     memcpy(skb_put(skb,frame_length), bus_to_virt(xl_priv->xl_rx_ring[xl_priv->rx_ring_tail].upfragaddr), frame_length) ; */
                        pci_dma_sync_single_for_device(xl_priv->pdev,xl_priv->xl_rx_ring[xl_priv->rx_ring_tail].upfragaddr,xl_priv->pkt_buf_sz,PCI_DMA_FROMDEVICE) ;
                        adv_rx_ring(dev) ; 
@@ -967,8 +965,6 @@ static void xl_rx(struct net_device *dev)
                                return ; 
                        }
 
-                       skb->dev = dev ; 
-
                        skb2 = xl_priv->rx_ring_skb[xl_priv->rx_ring_tail] ; 
                        pci_unmap_single(xl_priv->pdev, xl_priv->xl_rx_ring[xl_priv->rx_ring_tail].upfragaddr, xl_priv->pkt_buf_sz,PCI_DMA_FROMDEVICE) ; 
                        skb_put(skb2, frame_length) ; 
@@ -998,7 +994,7 @@ static void xl_rx(struct net_device *dev)
 
 static void xl_reset(struct net_device *dev) 
 {
-       struct xl_private *xl_priv=(struct xl_private *)dev->priv;
+       struct xl_private *xl_priv=netdev_priv(dev);
        u8 __iomem * xl_mmio = xl_priv->xl_mmio ; 
        unsigned long t; 
 
@@ -1021,7 +1017,7 @@ static void xl_reset(struct net_device *dev)
 
 static void xl_freemem(struct net_device *dev) 
 {
-       struct xl_private *xl_priv=(struct xl_private *)dev->priv ; 
+       struct xl_private *xl_priv=netdev_priv(dev);
        int i ; 
 
        for (i=0;i<XL_RX_RING_SIZE;i++) {
@@ -1042,10 +1038,10 @@ static void xl_freemem(struct net_device *dev)
        return  ; 
 }
 
-static irqreturn_t xl_interrupt(int irq, void *dev_id, struct pt_regs *regs
+static irqreturn_t xl_interrupt(int irq, void *dev_id) 
 {
        struct net_device *dev = (struct net_device *)dev_id;
-       struct xl_private *xl_priv =(struct xl_private *)dev->priv;
+       struct xl_private *xl_priv =netdev_priv(dev);
        u8 __iomem * xl_mmio = xl_priv->xl_mmio ; 
        u16 intstatus, macstatus  ;
 
@@ -1172,7 +1168,7 @@ static irqreturn_t xl_interrupt(int irq, void *dev_id, struct pt_regs *regs)
        
 static int xl_xmit(struct sk_buff *skb, struct net_device *dev) 
 {
-       struct xl_private *xl_priv=(struct xl_private *)dev->priv;
+       struct xl_private *xl_priv=netdev_priv(dev);
        struct xl_tx_desc *txd ; 
        int tx_head, tx_tail, tx_prev ; 
        unsigned long flags ;   
@@ -1233,7 +1229,7 @@ static int xl_xmit(struct sk_buff *skb, struct net_device *dev)
 
 static void xl_dn_comp(struct net_device *dev) 
 {
-       struct xl_private *xl_priv=(struct xl_private *)dev->priv;
+       struct xl_private *xl_priv=netdev_priv(dev);
        u8 __iomem * xl_mmio = xl_priv->xl_mmio ; 
        struct xl_tx_desc *txd ; 
 
@@ -1269,7 +1265,7 @@ static void xl_dn_comp(struct net_device *dev)
 
 static int xl_close(struct net_device *dev) 
 {
-       struct xl_private *xl_priv = (struct xl_private *) dev->priv ; 
+       struct xl_private *xl_priv = netdev_priv(dev);
        u8 __iomem * xl_mmio = xl_priv->xl_mmio ; 
        unsigned long t ; 
 
@@ -1367,7 +1363,7 @@ static int xl_close(struct net_device *dev)
 
 static void xl_set_rx_mode(struct net_device *dev) 
 {
-       struct xl_private *xl_priv = (struct xl_private *) dev->priv ; 
+       struct xl_private *xl_priv = netdev_priv(dev);
        struct dev_mc_list *dmi ; 
        unsigned char dev_mc_address[4] ; 
        u16 options ; 
@@ -1408,7 +1404,7 @@ static void xl_set_rx_mode(struct net_device *dev)
 
 static void xl_srb_bh(struct net_device *dev) 
 { 
-       struct xl_private *xl_priv = (struct xl_private *) dev->priv ; 
+       struct xl_private *xl_priv = netdev_priv(dev);
        u8 __iomem * xl_mmio = xl_priv->xl_mmio ; 
        u8 srb_cmd, ret_code ; 
        int i ; 
@@ -1477,14 +1473,14 @@ static void xl_srb_bh(struct net_device *dev)
 
 static struct net_device_stats * xl_get_stats(struct net_device *dev)
 {
-       struct xl_private *xl_priv = (struct xl_private *) dev->priv ;
+       struct xl_private *xl_priv = netdev_priv(dev);
        return (struct net_device_stats *) &xl_priv->xl_stats; 
 }
 
 static int xl_set_mac_address (struct net_device *dev, void *addr) 
 {
        struct sockaddr *saddr = addr ; 
-       struct xl_private *xl_priv = (struct xl_private *)dev->priv ; 
+       struct xl_private *xl_priv = netdev_priv(dev);
 
        if (netif_running(dev)) { 
                printk(KERN_WARNING "%s: Cannot set mac/laa address while card is open\n", dev->name) ; 
@@ -1505,7 +1501,7 @@ static int xl_set_mac_address (struct net_device *dev, void *addr)
 
 static void xl_arb_cmd(struct net_device *dev)
 {
-       struct xl_private *xl_priv = (struct xl_private *) dev->priv;
+       struct xl_private *xl_priv = netdev_priv(dev);
        u8 __iomem * xl_mmio = xl_priv->xl_mmio ; 
        u8 arb_cmd ; 
        u16 lan_status, lan_status_diff ; 
@@ -1633,7 +1629,7 @@ static void xl_arb_cmd(struct net_device *dev)
 
 static void xl_asb_cmd(struct net_device *dev)
 {
-       struct xl_private *xl_priv = (struct xl_private *) dev->priv ; 
+       struct xl_private *xl_priv = netdev_priv(dev);
        u8 __iomem * xl_mmio = xl_priv->xl_mmio ; 
 
        if (xl_priv->asb_queued == 1) 
@@ -1664,7 +1660,7 @@ static void xl_asb_cmd(struct net_device *dev)
  */
 static void xl_asb_bh(struct net_device *dev) 
 {
-       struct xl_private *xl_priv = (struct xl_private *) dev->priv ; 
+       struct xl_private *xl_priv = netdev_priv(dev);
        u8 __iomem * xl_mmio = xl_priv->xl_mmio ; 
        u8 ret_code ; 
 
@@ -1692,7 +1688,7 @@ static void xl_asb_bh(struct net_device *dev)
 
 static void xl_srb_cmd(struct net_device *dev, int srb_cmd) 
 {
-       struct xl_private *xl_priv = (struct xl_private *) dev->priv ; 
+       struct xl_private *xl_priv = netdev_priv(dev);
        u8 __iomem * xl_mmio = xl_priv->xl_mmio ; 
 
        switch (srb_cmd) { 
@@ -1749,7 +1745,7 @@ static void xl_srb_cmd(struct net_device *dev, int srb_cmd)
 
 static void xl_wait_misr_flags(struct net_device *dev) 
 {
-       struct xl_private *xl_priv = (struct xl_private *) dev->priv ; 
+       struct xl_private *xl_priv = netdev_priv(dev);
        u8 __iomem * xl_mmio = xl_priv->xl_mmio ; 
        
        int i  ; 
@@ -1774,7 +1770,7 @@ static void xl_wait_misr_flags(struct net_device *dev)
 
 static int xl_change_mtu(struct net_device *dev, int mtu) 
 {
-       struct xl_private *xl_priv = (struct xl_private *) dev->priv;
+       struct xl_private *xl_priv = netdev_priv(dev);
        u16 max_mtu ; 
 
        if (xl_priv->xl_ring_speed == 4)
@@ -1796,7 +1792,7 @@ static int xl_change_mtu(struct net_device *dev, int mtu)
 static void __devexit xl_remove_one (struct pci_dev *pdev)
 {
        struct net_device *dev = pci_get_drvdata(pdev);
-       struct xl_private *xl_priv=(struct xl_private *)dev->priv;
+       struct xl_private *xl_priv=netdev_priv(dev);
        
        unregister_netdev(dev);
        iounmap(xl_priv->xl_mmio) ;