* [PATCH] (1/4) sdla - move out of Space.c
@ 2003-09-08 21:14 Stephen Hemminger
2003-09-10 21:00 ` Francois Romieu
0 siblings, 1 reply; 3+ messages in thread
From: Stephen Hemminger @ 2003-09-08 21:14 UTC (permalink / raw)
To: Jeff Garzik; +Cc: netdev
Patch against 2.60-test5 to move sdla driver out of Space.c for initialization
in non-module case. Since this driver doesn't come up until the device has
been configured with an ioctl (set_config); there is no way it can have
startup order problems.
diff -Nru a/drivers/net/Space.c b/drivers/net/Space.c
--- a/drivers/net/Space.c Mon Sep 8 14:01:25 2003
+++ b/drivers/net/Space.c Mon Sep 8 14:01:25 2003
@@ -97,7 +97,6 @@
extern int mac8390_probe(struct net_device *dev);
extern int mac89x0_probe(struct net_device *dev);
extern int mc32_probe(struct net_device *dev);
-extern struct net_device *sdla_init(void);
extern struct net_device *cops_probe(int unit);
extern struct net_device *ltpc_probe(void);
@@ -470,10 +469,6 @@
#ifdef CONFIG_LTPC
ltpc_probe();
#endif
-#ifdef CONFIG_SDLA
- sdla_init();
-#endif
-
}
/*
diff -Nru a/drivers/net/wan/sdla.c b/drivers/net/wan/sdla.c
--- a/drivers/net/wan/sdla.c Mon Sep 8 14:01:25 2003
+++ b/drivers/net/wan/sdla.c Mon Sep 8 14:01:25 2003
@@ -1626,41 +1626,16 @@
static void setup_sdla(struct net_device *dev)
{
+ struct frad_local *flp = dev->priv;
+
+ netdev_boot_setup_check(dev);
+
+ SET_MODULE_OWNER(dev);
dev->flags = 0;
dev->type = 0xFFFF;
dev->hard_header_len = 0;
dev->addr_len = 0;
dev->mtu = SDLA_MAX_MTU;
-}
-
-static int frad_registered;
-
-struct net_device * __init sdla_init(void)
-{
- struct net_device *dev;
- struct frad_local *flp;
- int err = -ENOMEM;
-
- if (!frad_registered) {
- err = register_frad(devname);
- if (err) {
- printk(KERN_ERR "%s: frad registration failed %d\n",
- devname, err);
- return ERR_PTR(err);
- }
- frad_registered = 1;
- printk("%s.\n", version);
- }
-
-
- dev = alloc_netdev(sizeof(struct frad_local), "sdla0", setup_sdla);
- if (!dev)
- goto out;
-
- SET_MODULE_OWNER(dev);
- netdev_boot_setup_check(dev);
-
- flp = dev->priv;
dev->open = sdla_open;
dev->stop = sdla_close;
@@ -1680,42 +1655,44 @@
flp->timer.expires = 1;
flp->timer.data = (unsigned long) dev;
flp->timer.function = sdla_poll;
-
- err = register_netdev(dev);
- if (err)
- goto out1;
- return dev;
-out1:
- kfree(dev);
-out:
- return ERR_PTR(err);
}
-#ifdef MODULE
-static struct net_device *sdla0;
+static struct net_device *sdla;
static int __init init_sdla(void)
{
- int result = 0;
+ int err;
+
+ printk("%s.\n", version);
+ err = register_frad(devname);
+ if (err) {
+ printk(KERN_ERR "%s: frad registration failed %d\n",
+ devname, err);
+ return err;
+ }
- sdla0 = sdla_init();
- if (IS_ERR(sdla0))
- result = PTR_ERR(sdla0);
+ sdla = alloc_netdev(sizeof(struct frad_local), "sdla0", setup_sdla);
+ if (!sdla)
+ return -ENOMEM;
+
+ err = register_netdev(sdla);
+ if (err)
+ kfree(sdla);
- return result;
+ return err;
}
static void __exit exit_sdla(void)
{
struct frad_local *flp;
- unregister_netdev(sdla0);
- if (sdla0->irq)
- free_irq(sdla0->irq, sdla0);
+ unregister_netdev(sdla);
+ if (sdla->irq)
+ free_irq(sdla->irq, sdla);
- flp = sdla0->priv;
+ flp = sdla->priv;
del_timer_sync(&flp->timer);
- free_netdev(sdla0);
+ free_netdev(sdla);
unregister_frad(devname);
}
@@ -1724,4 +1701,3 @@
module_init(init_sdla);
module_exit(exit_sdla);
-#endif
^ permalink raw reply [flat|nested] 3+ messages in thread* Re: [PATCH] (1/4) sdla - move out of Space.c
2003-09-08 21:14 [PATCH] (1/4) sdla - move out of Space.c Stephen Hemminger
@ 2003-09-10 21:00 ` Francois Romieu
2003-09-11 19:34 ` Jeff Garzik
0 siblings, 1 reply; 3+ messages in thread
From: Francois Romieu @ 2003-09-10 21:00 UTC (permalink / raw)
To: Stephen Hemminger; +Cc: Jeff Garzik, netdev
Apply on top of 2.6.0-test5-bk1 + Stephen sdla patches. Compiles fine.
free_netdev() patrol.
drivers/net/wan/sdla.c | 2 +-
1 files changed, 1 insertion(+), 1 deletion(-)
diff -puN drivers/net/wan/sdla.c~sh-sdla-free_netdev drivers/net/wan/sdla.c
--- linux-2.6.0-test5-bk1/drivers/net/wan/sdla.c~sh-sdla-free_netdev Wed Sep 10 22:41:19 2003
+++ linux-2.6.0-test5-bk1-fr/drivers/net/wan/sdla.c Wed Sep 10 22:42:35 2003
@@ -1669,7 +1669,7 @@ static int __init init_sdla(void)
err = register_netdev(sdla);
if (err)
- kfree(sdla);
+ free_netdev(sdla);
return err;
}
_
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2003-09-11 19:34 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-09-08 21:14 [PATCH] (1/4) sdla - move out of Space.c Stephen Hemminger
2003-09-10 21:00 ` Francois Romieu
2003-09-11 19:34 ` Jeff Garzik
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).