patch-2.4.0-test9 linux/drivers/net/dummy.c

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

diff -u --recursive --new-file v2.4.0-test8/linux/drivers/net/dummy.c linux/drivers/net/dummy.c
@@ -31,27 +31,10 @@
 /* To have statistics (just packets sent) define this */
 
 #include <linux/config.h>
-#include <linux/kernel.h>
 #include <linux/module.h>
-#include <linux/sched.h>
-#include <linux/types.h>
-#include <linux/fcntl.h>
-#include <linux/interrupt.h>
-#include <linux/ptrace.h>
-#include <linux/ioport.h>
-#include <linux/in.h>
-#include <linux/malloc.h>
-#include <linux/string.h>
-#include <linux/init.h>
-#include <asm/system.h>
-#include <asm/bitops.h>
-#include <asm/io.h>
-#include <asm/dma.h>
-#include <linux/errno.h>
-
+#include <linux/kernel.h>
 #include <linux/netdevice.h>
-#include <linux/etherdevice.h>
-#include <linux/skbuff.h>
+#include <linux/init.h>
 
 static int dummy_xmit(struct sk_buff *skb, struct net_device *dev);
 static struct net_device_stats *dummy_get_stats(struct net_device *dev);
@@ -80,7 +63,7 @@
 }
 #endif
 
-int __init dummy_init(struct net_device *dev)
+static int __init dummy_init(struct net_device *dev)
 {
 	/* Initialize the device structure. */
 	dev->hard_start_xmit	= dummy_xmit;
@@ -121,25 +104,12 @@
 
 static struct net_device_stats *dummy_get_stats(struct net_device *dev)
 {
-	struct net_device_stats *stats = (struct net_device_stats *) dev->priv;
-	return stats;
-}
-
-#ifdef MODULE
-
-static int __init dummy_probe(struct net_device *dev)
-{
-	dummy_init(dev);
-	return 0;
+	return dev->priv;
 }
 
-static struct net_device dev_dummy = {
-		"",
-		0, 0, 0, 0,
-	 	0x0, 0,
-	 	0, 0, 0, NULL, dummy_probe };
+static struct net_device dev_dummy = { init: dummy_init };
 
-int init_module(void)
+static int __init dummy_init_module(void)
 {
 	/* Find a name for this unit */
 	int err=dev_alloc_name(&dev_dummy,"dummy%d");
@@ -150,10 +120,14 @@
 	return 0;
 }
 
-void cleanup_module(void)
+static void __exit dummy_cleanup_module(void)
 {
 	unregister_netdev(&dev_dummy);
 	kfree(dev_dummy.priv);
-	dev_dummy.priv = NULL;
+
+	memset(&dev_dummy, 0, sizeof(dev_dummy));
+	dev_dummy.init = dummy_init;
 }
-#endif /* MODULE */
+
+module_init(dummy_init_module);
+module_exit(dummy_cleanup_module);

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)