aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/pcmcia/pcnet_cs.c
diff options
context:
space:
mode:
authorDominik Brodowski <linux@dominikbrodowski.net>2006-03-31 10:26:06 -0500
committerDominik Brodowski <linux@dominikbrodowski.net>2006-03-31 10:26:06 -0500
commit15b99ac1729503db9e6dc642a50b9b6cb3bf51f9 (patch)
treecfb8897487beba502aac2b28bc35066a87e34299 /drivers/net/pcmcia/pcnet_cs.c
parentfba395eee7d3f342ca739c20f5b3ee635d0420a0 (diff)
[PATCH] pcmcia: add return value to _config() functions
Most of the driver initialization isn't done in the .probe function, but in the internal _config() functions. Make them return a value, so that .probe can properly report whether the probing of the device succeeded or not. Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
Diffstat (limited to 'drivers/net/pcmcia/pcnet_cs.c')
-rw-r--r--drivers/net/pcmcia/pcnet_cs.c12
1 files changed, 5 insertions, 7 deletions
diff --git a/drivers/net/pcmcia/pcnet_cs.c b/drivers/net/pcmcia/pcnet_cs.c
index 9f41355e6beb..d840c0f03ea9 100644
--- a/drivers/net/pcmcia/pcnet_cs.c
+++ b/drivers/net/pcmcia/pcnet_cs.c
@@ -103,7 +103,7 @@ module_param_array(hw_addr, int, NULL, 0);
103/*====================================================================*/ 103/*====================================================================*/
104 104
105static void mii_phy_probe(struct net_device *dev); 105static void mii_phy_probe(struct net_device *dev);
106static void pcnet_config(struct pcmcia_device *link); 106static int pcnet_config(struct pcmcia_device *link);
107static void pcnet_release(struct pcmcia_device *link); 107static void pcnet_release(struct pcmcia_device *link);
108static int pcnet_open(struct net_device *dev); 108static int pcnet_open(struct net_device *dev);
109static int pcnet_close(struct net_device *dev); 109static int pcnet_close(struct net_device *dev);
@@ -265,9 +265,7 @@ static int pcnet_probe(struct pcmcia_device *link)
265 dev->set_config = &set_config; 265 dev->set_config = &set_config;
266 266
267 link->state |= DEV_PRESENT | DEV_CONFIG_PENDING; 267 link->state |= DEV_PRESENT | DEV_CONFIG_PENDING;
268 pcnet_config(link); 268 return pcnet_config(link);
269
270 return 0;
271} /* pcnet_attach */ 269} /* pcnet_attach */
272 270
273/*====================================================================== 271/*======================================================================
@@ -516,7 +514,7 @@ static int try_io_port(struct pcmcia_device *link)
516 } 514 }
517} 515}
518 516
519static void pcnet_config(struct pcmcia_device *link) 517static int pcnet_config(struct pcmcia_device *link)
520{ 518{
521 struct net_device *dev = link->priv; 519 struct net_device *dev = link->priv;
522 pcnet_dev_t *info = PRIV(dev); 520 pcnet_dev_t *info = PRIV(dev);
@@ -701,14 +699,14 @@ static void pcnet_config(struct pcmcia_device *link)
701 printk(" hw_addr "); 699 printk(" hw_addr ");
702 for (i = 0; i < 6; i++) 700 for (i = 0; i < 6; i++)
703 printk("%02X%s", dev->dev_addr[i], ((i<5) ? ":" : "\n")); 701 printk("%02X%s", dev->dev_addr[i], ((i<5) ? ":" : "\n"));
704 return; 702 return 0;
705 703
706cs_failed: 704cs_failed:
707 cs_error(link, last_fn, last_ret); 705 cs_error(link, last_fn, last_ret);
708failed: 706failed:
709 pcnet_release(link); 707 pcnet_release(link);
710 link->state &= ~DEV_CONFIG_PENDING; 708 link->state &= ~DEV_CONFIG_PENDING;
711 return; 709 return -ENODEV;
712} /* pcnet_config */ 710} /* pcnet_config */
713 711
714/*====================================================================== 712/*======================================================================