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

Next file: linux/drivers/net/eth16i.c
Previous file: linux/drivers/net/eepro100.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.1.36/linux/drivers/net/eexpress.c linux/drivers/net/eexpress.c
@@ -94,6 +94,7 @@
 #include <asm/io.h>
 #include <linux/delay.h>
 #include <linux/errno.h>
+#include <linux/init.h>
 
 #include <linux/netdevice.h>
 #include <linux/etherdevice.h>
@@ -301,7 +302,7 @@
  * checks for presence of EtherExpress card
  */
 
-int express_probe(struct device *dev)
+__initfunc(int express_probe(struct device *dev))
 {
 	unsigned short *port;
 	static unsigned short ports[] = { 0x300,0x310,0x270,0x320,0x340,0 };
@@ -525,7 +526,7 @@
 		}
 	}
   
-	if (set_bit(0,(void *)&dev->tbusy))
+	if (test_and_set_bit(0,(void *)&dev->tbusy))
 	{
 		lp->stats.tx_dropped++;
 	}
@@ -913,7 +914,7 @@
  * than one card in a machine.
  */
 
-static int eexp_hw_probe(struct device *dev, unsigned short ioaddr)
+__initfunc(static int eexp_hw_probe(struct device *dev, unsigned short ioaddr))
 {
 	unsigned short hw_addr[3];
 	unsigned char buswidth;
@@ -1034,8 +1035,8 @@
  * Read a word from the EtherExpress on-board serial EEPROM.
  * The EEPROM contains 64 words of 16 bits.
  */
-static unsigned short eexp_hw_readeeprom(unsigned short ioaddr,
-					 unsigned char location)
+__initfunc(static unsigned short eexp_hw_readeeprom(unsigned short ioaddr,
+						    unsigned char location))
 {
 	unsigned short cmd = 0x180|(location&0x7f);
 	unsigned short rval = 0,wval = EC_CS|i586_RST;

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