patch-2.1.37 linux/drivers/net/wavelan.c

Next file: linux/drivers/net/wavelan.p.h
Previous file: linux/drivers/net/tulip.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.1.36/linux/drivers/net/wavelan.c linux/drivers/net/wavelan.c
@@ -64,8 +64,8 @@
 /*
  * Translate PSA irq parameter to irq number 
  */
-static int
-wv_psa_to_irq(u_char	irqval)
+__initfunc(static int
+wv_psa_to_irq(u_char	irqval))
 {
   int	irq;
 
@@ -895,7 +895,7 @@
   net_local *	lp = (net_local *)dev->priv;
 
   /* Check if we can do it now ! */
-  if(!(dev->start) || (set_bit(0, (void *)&dev->tbusy) != 0))
+  if(!(dev->start) || (test_and_set_bit(0, (void *)&dev->tbusy) != 0))
     {
       lp->reconfig_82586 = 1;
 #ifdef DEBUG_CONFIG_INFO
@@ -2799,7 +2799,7 @@
    * Block a timer-based transmit from overlapping.
    * In other words, prevent reentering this routine.
    */
-  if(set_bit(0, (void *)&dev->tbusy) != 0)
+  if(test_and_set_bit(0, (void *)&dev->tbusy) != 0)
 #ifdef DEBUG_TX_ERROR
     printk(KERN_INFO "%s: Transmitter access conflict.\n", dev->name);
 #endif
@@ -3999,8 +3999,8 @@
  * device structure
  * (called by wavelan_probe() & via init_module())
  */
-static int
-wavelan_config(device *	dev)
+__initfunc(static int
+wavelan_config(device *	dev))
 {
   u_long	ioaddr = dev->base_addr;
   u_char	irq_mask;
@@ -4112,11 +4112,9 @@
  * the initial value of dev->base_addr.
  * We follow the example in drivers/net/ne.c.)
  * (called in "Space.c")
- * As this function is called outside the wavelan module, it should be
- * declared extern, but it seem to cause troubles...
  */
-/* extern */ int
-wavelan_probe(device *	dev)
+__initfunc(int
+wavelan_probe(device *	dev))
 {
   short		base_addr;
   mac_addr	mac;		/* Mac address (check wavelan existence) */

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov