diff options
author | Dominik Brodowski <linux@dominikbrodowski.net> | 2006-03-31 10:26:06 -0500 |
---|---|---|
committer | Dominik Brodowski <linux@dominikbrodowski.net> | 2006-03-31 10:26:06 -0500 |
commit | 15b99ac1729503db9e6dc642a50b9b6cb3bf51f9 (patch) | |
tree | cfb8897487beba502aac2b28bc35066a87e34299 /drivers/net/pcmcia/3c574_cs.c | |
parent | fba395eee7d3f342ca739c20f5b3ee635d0420a0 (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/3c574_cs.c')
-rw-r--r-- | drivers/net/pcmcia/3c574_cs.c | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/drivers/net/pcmcia/3c574_cs.c b/drivers/net/pcmcia/3c574_cs.c index f4e293bd04dc..4611469fdff9 100644 --- a/drivers/net/pcmcia/3c574_cs.c +++ b/drivers/net/pcmcia/3c574_cs.c | |||
@@ -225,7 +225,7 @@ static char mii_preamble_required = 0; | |||
225 | 225 | ||
226 | /* Index of functions. */ | 226 | /* Index of functions. */ |
227 | 227 | ||
228 | static void tc574_config(struct pcmcia_device *link); | 228 | static int tc574_config(struct pcmcia_device *link); |
229 | static void tc574_release(struct pcmcia_device *link); | 229 | static void tc574_release(struct pcmcia_device *link); |
230 | 230 | ||
231 | static void mdio_sync(kio_addr_t ioaddr, int bits); | 231 | static void mdio_sync(kio_addr_t ioaddr, int bits); |
@@ -256,7 +256,7 @@ static void tc574_detach(struct pcmcia_device *p_dev); | |||
256 | with Card Services. | 256 | with Card Services. |
257 | */ | 257 | */ |
258 | 258 | ||
259 | static int tc574_attach(struct pcmcia_device *link) | 259 | static int tc574_probe(struct pcmcia_device *link) |
260 | { | 260 | { |
261 | struct el3_private *lp; | 261 | struct el3_private *lp; |
262 | struct net_device *dev; | 262 | struct net_device *dev; |
@@ -297,9 +297,7 @@ static int tc574_attach(struct pcmcia_device *link) | |||
297 | #endif | 297 | #endif |
298 | 298 | ||
299 | link->state |= DEV_PRESENT | DEV_CONFIG_PENDING; | 299 | link->state |= DEV_PRESENT | DEV_CONFIG_PENDING; |
300 | tc574_config(link); | 300 | return tc574_config(link); |
301 | |||
302 | return 0; | ||
303 | } /* tc574_attach */ | 301 | } /* tc574_attach */ |
304 | 302 | ||
305 | /* | 303 | /* |
@@ -337,7 +335,7 @@ static void tc574_detach(struct pcmcia_device *link) | |||
337 | 335 | ||
338 | static const char *ram_split[] = {"5:3", "3:1", "1:1", "3:5"}; | 336 | static const char *ram_split[] = {"5:3", "3:1", "1:1", "3:5"}; |
339 | 337 | ||
340 | static void tc574_config(struct pcmcia_device *link) | 338 | static int tc574_config(struct pcmcia_device *link) |
341 | { | 339 | { |
342 | struct net_device *dev = link->priv; | 340 | struct net_device *dev = link->priv; |
343 | struct el3_private *lp = netdev_priv(dev); | 341 | struct el3_private *lp = netdev_priv(dev); |
@@ -486,13 +484,13 @@ static void tc574_config(struct pcmcia_device *link) | |||
486 | 8 << config.u.ram_size, ram_split[config.u.ram_split], | 484 | 8 << config.u.ram_size, ram_split[config.u.ram_split], |
487 | config.u.autoselect ? "autoselect " : ""); | 485 | config.u.autoselect ? "autoselect " : ""); |
488 | 486 | ||
489 | return; | 487 | return 0; |
490 | 488 | ||
491 | cs_failed: | 489 | cs_failed: |
492 | cs_error(link, last_fn, last_ret); | 490 | cs_error(link, last_fn, last_ret); |
493 | failed: | 491 | failed: |
494 | tc574_release(link); | 492 | tc574_release(link); |
495 | return; | 493 | return -ENODEV; |
496 | 494 | ||
497 | } /* tc574_config */ | 495 | } /* tc574_config */ |
498 | 496 | ||
@@ -1223,7 +1221,7 @@ static struct pcmcia_driver tc574_driver = { | |||
1223 | .drv = { | 1221 | .drv = { |
1224 | .name = "3c574_cs", | 1222 | .name = "3c574_cs", |
1225 | }, | 1223 | }, |
1226 | .probe = tc574_attach, | 1224 | .probe = tc574_probe, |
1227 | .remove = tc574_detach, | 1225 | .remove = tc574_detach, |
1228 | .id_table = tc574_ids, | 1226 | .id_table = tc574_ids, |
1229 | .suspend = tc574_suspend, | 1227 | .suspend = tc574_suspend, |