All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] dynamic net_device for serial eql balancer
@ 2003-07-15 22:57 Stephen Hemminger
  2003-07-16  4:43 ` David S. Miller
  0 siblings, 1 reply; 2+ messages in thread
From: Stephen Hemminger @ 2003-07-15 22:57 UTC (permalink / raw)
  To: David S. Miller; +Cc: netdev

Patch against 2.6.0-test1 to dynamically allocate pseudo network device.
Compiles and loaded/unloaded but don't have multi-port serial load balancing to test 
more fuly.

diff -Nru a/drivers/net/eql.c b/drivers/net/eql.c
--- a/drivers/net/eql.c	Tue Jul 15 15:50:48 2003
+++ b/drivers/net/eql.c	Tue Jul 15 15:50:48 2003
@@ -162,22 +162,12 @@
 static char version[] __initdata = 
 	"Equalizer2002: Simon Janes (simon@ncm.com) and David S. Miller (davem@redhat.com)\n";
 
-static int __init eql_init(struct net_device *dev)
+static void __init eql_setup(struct net_device *dev)
 {
-	static unsigned int version_printed;
-	equalizer_t *eql;
+	equalizer_t *eql = dev->priv;
 
 	SET_MODULE_OWNER(dev);
 
-	if (version_printed++ == 0)
-		printk(version);
-
-	dev->priv = kmalloc(sizeof (equalizer_t), GFP_KERNEL);
-	if (dev->priv == NULL)
-		return -ENOMEM;
-	memset(dev->priv, 0, sizeof (equalizer_t));
-	eql = dev->priv;
-
 	init_timer(&eql->timer);
 	eql->timer.data     	= (unsigned long) dev->priv;
 	eql->timer.expires  	= jiffies + EQL_DEFAULT_RESCHED_IVAL;
@@ -203,8 +193,6 @@
 
 	dev->type       	= ARPHRD_SLIP;
 	dev->tx_queue_len 	= 5;		/* Hands them off fast */
-
-	return 0;
 }
 
 static int eql_open(struct net_device *dev)
@@ -598,23 +586,28 @@
 	return -EINVAL;
 }
 
-static struct net_device dev_eql;
+static struct net_device *dev_eql;
 
 static int __init eql_init_module(void)
 {
-	strcpy(dev_eql.name, "eql");
-	dev_eql.init = eql_init;
-	if (register_netdev(&dev_eql) != 0) {
-		printk("eql: register_netdev() returned non-zero.\n");
-		return -EIO;
-	}
-	return 0;
+	int err;
+
+	printk(version);
+
+	dev_eql = alloc_netdev(sizeof(equalizer_t), "eql", eql_setup);
+	if (!dev_eql)
+		return -ENOMEM;
+
+	err = register_netdev(dev_eql);
+	if (err) 
+		kfree(dev_eql);
+	return err;
 }
 
 static void __exit eql_cleanup_module(void)
 {
-	kfree(dev_eql.priv);
-	unregister_netdev(&dev_eql);
+	unregister_netdev(dev_eql);
+	kfree(dev_eql);
 }
 
 module_init(eql_init_module);

^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [PATCH] dynamic net_device for serial eql balancer
  2003-07-15 22:57 [PATCH] dynamic net_device for serial eql balancer Stephen Hemminger
@ 2003-07-16  4:43 ` David S. Miller
  0 siblings, 0 replies; 2+ messages in thread
From: David S. Miller @ 2003-07-16  4:43 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: netdev

On Tue, 15 Jul 2003 15:57:33 -0700
Stephen Hemminger <shemminger@osdl.org> wrote:

> Patch against 2.6.0-test1 to dynamically allocate pseudo network device.
> Compiles and loaded/unloaded but don't have multi-port serial load balancing to test 
> more fuly.

Applied, thanks Stephen.

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2003-07-16  4:43 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-07-15 22:57 [PATCH] dynamic net_device for serial eql balancer Stephen Hemminger
2003-07-16  4:43 ` David S. Miller

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.