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/wireless/atmel_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/wireless/atmel_cs.c')
| -rw-r--r-- | drivers/net/wireless/atmel_cs.c | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/drivers/net/wireless/atmel_cs.c b/drivers/net/wireless/atmel_cs.c index 843dd1a036..962272c134 100644 --- a/drivers/net/wireless/atmel_cs.c +++ b/drivers/net/wireless/atmel_cs.c | |||
| @@ -91,7 +91,7 @@ MODULE_SUPPORTED_DEVICE("Atmel at76c50x PCMCIA cards"); | |||
| 91 | event handler. | 91 | event handler. |
| 92 | */ | 92 | */ |
| 93 | 93 | ||
| 94 | static void atmel_config(struct pcmcia_device *link); | 94 | static int atmel_config(struct pcmcia_device *link); |
| 95 | static void atmel_release(struct pcmcia_device *link); | 95 | static void atmel_release(struct pcmcia_device *link); |
| 96 | 96 | ||
| 97 | /* | 97 | /* |
| @@ -152,7 +152,7 @@ typedef struct local_info_t { | |||
| 152 | 152 | ||
| 153 | ======================================================================*/ | 153 | ======================================================================*/ |
| 154 | 154 | ||
| 155 | static int atmel_attach(struct pcmcia_device *p_dev) | 155 | static int atmel_probe(struct pcmcia_device *p_dev) |
| 156 | { | 156 | { |
| 157 | local_info_t *local; | 157 | local_info_t *local; |
| 158 | 158 | ||
| @@ -182,9 +182,7 @@ static int atmel_attach(struct pcmcia_device *p_dev) | |||
| 182 | p_dev->priv = local; | 182 | p_dev->priv = local; |
| 183 | 183 | ||
| 184 | p_dev->state |= DEV_PRESENT | DEV_CONFIG_PENDING; | 184 | p_dev->state |= DEV_PRESENT | DEV_CONFIG_PENDING; |
| 185 | atmel_config(p_dev); | 185 | return atmel_config(p_dev); |
| 186 | |||
| 187 | return 0; | ||
| 188 | } /* atmel_attach */ | 186 | } /* atmel_attach */ |
| 189 | 187 | ||
| 190 | /*====================================================================== | 188 | /*====================================================================== |
| @@ -230,7 +228,7 @@ static int card_present(void *arg) | |||
| 230 | return 0; | 228 | return 0; |
| 231 | } | 229 | } |
| 232 | 230 | ||
| 233 | static void atmel_config(struct pcmcia_device *link) | 231 | static int atmel_config(struct pcmcia_device *link) |
| 234 | { | 232 | { |
| 235 | tuple_t tuple; | 233 | tuple_t tuple; |
| 236 | cisparse_t parse; | 234 | cisparse_t parse; |
| @@ -377,11 +375,12 @@ static void atmel_config(struct pcmcia_device *link) | |||
| 377 | link->dev_node = &dev->node; | 375 | link->dev_node = &dev->node; |
| 378 | 376 | ||
| 379 | link->state &= ~DEV_CONFIG_PENDING; | 377 | link->state &= ~DEV_CONFIG_PENDING; |
| 380 | return; | 378 | return 0; |
| 381 | 379 | ||
| 382 | cs_failed: | 380 | cs_failed: |
| 383 | cs_error(link, last_fn, last_ret); | 381 | cs_error(link, last_fn, last_ret); |
| 384 | atmel_release(link); | 382 | atmel_release(link); |
| 383 | return -ENODEV; | ||
| 385 | } | 384 | } |
| 386 | 385 | ||
| 387 | /*====================================================================== | 386 | /*====================================================================== |
| @@ -476,7 +475,7 @@ static struct pcmcia_driver atmel_driver = { | |||
| 476 | .drv = { | 475 | .drv = { |
| 477 | .name = "atmel_cs", | 476 | .name = "atmel_cs", |
| 478 | }, | 477 | }, |
| 479 | .probe = atmel_attach, | 478 | .probe = atmel_probe, |
| 480 | .remove = atmel_detach, | 479 | .remove = atmel_detach, |
| 481 | .id_table = atmel_ids, | 480 | .id_table = atmel_ids, |
| 482 | .suspend = atmel_suspend, | 481 | .suspend = atmel_suspend, |
