linux 2.6.16.38 w/ vs2.0.3-rc1
[linux-2.6.git] / drivers / net / 82596.c
index c835712..13b745b 100644 (file)
@@ -53,8 +53,8 @@
 #include <linux/etherdevice.h>
 #include <linux/skbuff.h>
 #include <linux/init.h>
+#include <linux/bitops.h>
 
-#include <asm/bitops.h>
 #include <asm/io.h>
 #include <asm/dma.h>
 #include <asm/pgtable.h>
@@ -150,7 +150,7 @@ MODULE_AUTHOR("Richard Hirst");
 MODULE_DESCRIPTION("i82596 driver");
 MODULE_LICENSE("GPL");
 
-MODULE_PARM(i596_debug, "i");
+module_param(i596_debug, int, 0);
 MODULE_PARM_DESC(i596_debug, "i82596 debug mask");
 
 
@@ -546,11 +546,11 @@ static inline void init_rx_bufs(struct net_device *dev)
                rbd->b_next = WSWAPrbd(virt_to_bus(rbd+1));
                rbd->b_addr = WSWAPrbd(virt_to_bus(rbd));
                rbd->skb = skb;
-               rbd->v_data = skb->tail;
-               rbd->b_data = WSWAPchar(virt_to_bus(skb->tail));
+               rbd->v_data = skb->data;
+               rbd->b_data = WSWAPchar(virt_to_bus(skb->data));
                rbd->size = PKT_BUF_SZ;
 #ifdef __mc68000__
-               cache_clear(virt_to_phys(skb->tail), PKT_BUF_SZ);
+               cache_clear(virt_to_phys(skb->data), PKT_BUF_SZ);
 #endif
        }
        lp->rbd_head = lp->rbds;
@@ -816,10 +816,10 @@ static inline int i596_rx(struct net_device *dev)
                                rx_in_place = 1;
                                rbd->skb = newskb;
                                newskb->dev = dev;
-                               rbd->v_data = newskb->tail;
-                               rbd->b_data = WSWAPchar(virt_to_bus(newskb->tail));
+                               rbd->v_data = newskb->data;
+                               rbd->b_data = WSWAPchar(virt_to_bus(newskb->data));
 #ifdef __mc68000__
-                               cache_clear(virt_to_phys(newskb->tail), PKT_BUF_SZ);
+                               cache_clear(virt_to_phys(newskb->data), PKT_BUF_SZ);
 #endif
                        }
                        else
@@ -840,7 +840,7 @@ memory_squeeze:
                                skb->protocol=eth_type_trans(skb,dev);
                                skb->len = pkt_len;
 #ifdef __mc68000__
-                               cache_clear(virt_to_phys(rbd->skb->tail),
+                               cache_clear(virt_to_phys(rbd->skb->data),
                                                pkt_len);
 #endif
                                netif_rx(skb);
@@ -1260,7 +1260,7 @@ struct net_device * __init i82596_probe(int unit)
        lp->scb.command = 0;
        lp->scb.cmd = I596_NULL;
        lp->scb.rfd = I596_NULL;
-       lp->lock = SPIN_LOCK_UNLOCKED;
+       spin_lock_init(&lp->lock);
 
        err = register_netdev(dev);
        if (err)
@@ -1572,13 +1572,13 @@ static void set_multicast_list(struct net_device *dev)
 static struct net_device *dev_82596;
 
 #ifdef ENABLE_APRICOT
-MODULE_PARM(irq, "i");
+module_param(irq, int, 0);
 MODULE_PARM_DESC(irq, "Apricot IRQ number");
 #endif
 
-MODULE_PARM(debug, "i");
-MODULE_PARM_DESC(debug, "i82596 debug mask");
 static int debug = -1;
+module_param(debug, int, 0);
+MODULE_PARM_DESC(debug, "i82596 debug mask");
 
 int init_module(void)
 {