* [PATCH] (3/3) Space.c -- fix boot param string setup
@ 2003-09-23 17:14 Stephen Hemminger
2003-09-23 19:00 ` David S. Miller
0 siblings, 1 reply; 2+ messages in thread
From: Stephen Hemminger @ 2003-09-23 17:14 UTC (permalink / raw)
To: David S. Miller; +Cc: netdev
My conversion of probing to dynamic allocation, lost the ability to
set boot parameters properly. Need to assign network device name before
lookup in order for this to work.
diff -Nru a/drivers/net/Space.c b/drivers/net/Space.c
--- a/drivers/net/Space.c Tue Sep 23 09:36:37 2003
+++ b/drivers/net/Space.c Tue Sep 23 09:36:37 2003
@@ -103,7 +103,7 @@
extern int iph5526_probe(struct net_device *dev);
/* SBNI adapters */
-extern int sbni_probe(void);
+extern int sbni_probe(int unit);
struct devprobe
{
@@ -338,7 +338,7 @@
* per bus interface. This drives the legacy devices only for now.
*/
-static int __init ethif_probe(void)
+static int __init ethif_probe(int unit)
{
struct net_device *dev;
int err = -ENODEV;
@@ -347,6 +347,7 @@
if (!dev)
return -ENOMEM;
+ sprintf(dev->name, "eth%d", unit);
netdev_boot_setup_check(dev);
/*
@@ -383,7 +384,7 @@
extern int proteon_probe(struct net_device *);
extern int smctr_probe(struct net_device *);
-static __init int trif_probe(void)
+static __init int trif_probe(int unit)
{
struct net_device *dev;
int err = -ENODEV;
@@ -392,6 +393,7 @@
if (!dev)
return -ENOMEM;
+ sprintf(dev->name, "tr%d", unit);
netdev_boot_setup_check(dev);
if (
#ifdef CONFIG_IBMTR
@@ -435,16 +437,16 @@
#ifdef CONFIG_SBNI
for (num = 0; num < 8; ++num)
- if (sbni_probe())
+ if (sbni_probe(num))
break;
#endif
#ifdef CONFIG_TR
for (num = 0; num < 8; ++num)
- if (trif_probe())
+ if (trif_probe(num))
break;
#endif
for (num = 0; num < 8; ++num)
- if (ethif_probe())
+ if (ethif_probe(num))
break;
#ifdef CONFIG_COPS
cops_probe(0);
diff -Nru a/drivers/net/wan/sbni.c b/drivers/net/wan/sbni.c
--- a/drivers/net/wan/sbni.c Tue Sep 23 09:36:37 2003
+++ b/drivers/net/wan/sbni.c Tue Sep 23 09:36:37 2003
@@ -221,24 +221,26 @@
SET_MODULE_OWNER( dev );
}
-int __init sbni_probe(void)
+int __init sbni_probe(int unit)
{
struct net_device *dev;
static unsigned version_printed __initdata = 0;
+ int err;
- if( version_printed++ == 0 )
- printk( KERN_INFO "%s", version );
-
- dev = alloc_netdev(sizeof(struct net_local), "sbni%d", sbni_devsetup);
+ dev = alloc_netdev(sizeof(struct net_local), "sbni", sbni_devsetup);
if (!dev)
return -ENOMEM;
+ sprintf(dev->name, "sbni%d", unit);
netdev_boot_setup_check(dev);
- if (register_netdev(dev)) {
- kfree(dev);
- return -ENODEV;
+ err = register_netdev(dev);
+ if (err) {
+ free_netdev(dev);
+ return err;
}
+ if( version_printed++ == 0 )
+ printk( KERN_INFO "%s", version );
return 0;
}
^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [PATCH] (3/3) Space.c -- fix boot param string setup
2003-09-23 17:14 [PATCH] (3/3) Space.c -- fix boot param string setup Stephen Hemminger
@ 2003-09-23 19:00 ` David S. Miller
0 siblings, 0 replies; 2+ messages in thread
From: David S. Miller @ 2003-09-23 19:00 UTC (permalink / raw)
To: Stephen Hemminger; +Cc: netdev
On Tue, 23 Sep 2003 10:14:48 -0700
Stephen Hemminger <shemminger@osdl.org> wrote:
> My conversion of probing to dynamic allocation, lost the ability to
> set boot parameters properly. Need to assign network device name before
> lookup in order for this to work.
Applied.
Something similar is needed for all the ISA etc. ethernet drivers
too. In particular 3c509.c is busted in this area currently.
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2003-09-23 19:00 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-09-23 17:14 [PATCH] (3/3) Space.c -- fix boot param string setup Stephen Hemminger
2003-09-23 19:00 ` David S. Miller
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).