diff options
author | Dominik Brodowski <linux@dominikbrodowski.net> | 2006-03-01 18:02:33 -0500 |
---|---|---|
committer | Dominik Brodowski <linux@dominikbrodowski.net> | 2006-03-31 10:15:52 -0500 |
commit | 8661bb5b4af1849c1f5a4e80c4e275fd13c155d6 (patch) | |
tree | ad99d85ea8d6f5c4c99b93f869bfd412994fb4ee /drivers/isdn/hardware | |
parent | 50db3fdbbc98260fb538c1cc3f8cc597ba7bffe7 (diff) |
[PATCH] pcmcia: default suspend and resume handling
In all but one case, the suspend and resume functions of PCMCIA drivers
contain mostly of calls to pcmcia_release_configuration() and
pcmcia_request_configuration(). Therefore, move this code out of the
drivers and into the core.
Signed-off-by: Dominik Brodowski <linux@dominikbrodowski.net>
Diffstat (limited to 'drivers/isdn/hardware')
-rw-r--r-- | drivers/isdn/hardware/avm/avm_cs.c | 38 |
1 files changed, 0 insertions, 38 deletions
diff --git a/drivers/isdn/hardware/avm/avm_cs.c b/drivers/isdn/hardware/avm/avm_cs.c index 5f70661994d8..ae70247d5157 100644 --- a/drivers/isdn/hardware/avm/avm_cs.c +++ b/drivers/isdn/hardware/avm/avm_cs.c | |||
@@ -371,42 +371,6 @@ static void avmcs_release(dev_link_t *link) | |||
371 | pcmcia_disable_device(link->handle); | 371 | pcmcia_disable_device(link->handle); |
372 | } /* avmcs_release */ | 372 | } /* avmcs_release */ |
373 | 373 | ||
374 | static int avmcs_suspend(struct pcmcia_device *dev) | ||
375 | { | ||
376 | dev_link_t *link = dev_to_instance(dev); | ||
377 | |||
378 | link->state |= DEV_SUSPEND; | ||
379 | if (link->state & DEV_CONFIG) | ||
380 | pcmcia_release_configuration(link->handle); | ||
381 | |||
382 | return 0; | ||
383 | } | ||
384 | |||
385 | static int avmcs_resume(struct pcmcia_device *dev) | ||
386 | { | ||
387 | dev_link_t *link = dev_to_instance(dev); | ||
388 | |||
389 | link->state &= ~DEV_SUSPEND; | ||
390 | if (link->state & DEV_CONFIG) | ||
391 | pcmcia_request_configuration(link->handle, &link->conf); | ||
392 | |||
393 | return 0; | ||
394 | } | ||
395 | |||
396 | /*====================================================================== | ||
397 | |||
398 | The card status event handler. Mostly, this schedules other | ||
399 | stuff to run after an event is received. A CARD_REMOVAL event | ||
400 | also sets some flags to discourage the net drivers from trying | ||
401 | to talk to the card any more. | ||
402 | |||
403 | When a CARD_REMOVAL event is received, we immediately set a flag | ||
404 | to block future accesses to this device. All the functions that | ||
405 | actually access the device should check this flag to make sure | ||
406 | the card is still present. | ||
407 | |||
408 | ======================================================================*/ | ||
409 | |||
410 | 374 | ||
411 | static struct pcmcia_device_id avmcs_ids[] = { | 375 | static struct pcmcia_device_id avmcs_ids[] = { |
412 | PCMCIA_DEVICE_PROD_ID12("AVM", "ISDN-Controller B1", 0x95d42008, 0x845dc335), | 376 | PCMCIA_DEVICE_PROD_ID12("AVM", "ISDN-Controller B1", 0x95d42008, 0x845dc335), |
@@ -424,8 +388,6 @@ static struct pcmcia_driver avmcs_driver = { | |||
424 | .probe = avmcs_attach, | 388 | .probe = avmcs_attach, |
425 | .remove = avmcs_detach, | 389 | .remove = avmcs_detach, |
426 | .id_table = avmcs_ids, | 390 | .id_table = avmcs_ids, |
427 | .suspend= avmcs_suspend, | ||
428 | .resume = avmcs_resume, | ||
429 | }; | 391 | }; |
430 | 392 | ||
431 | static int __init avmcs_init(void) | 393 | static int __init avmcs_init(void) |