aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/isdn/hardware
diff options
context:
space:
mode:
authorDominik Brodowski <linux@dominikbrodowski.net>2006-03-01 18:02:33 -0500
committerDominik Brodowski <linux@dominikbrodowski.net>2006-03-31 10:15:52 -0500
commit8661bb5b4af1849c1f5a4e80c4e275fd13c155d6 (patch)
treead99d85ea8d6f5c4c99b93f869bfd412994fb4ee /drivers/isdn/hardware
parent50db3fdbbc98260fb538c1cc3f8cc597ba7bffe7 (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.c38
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 5f70661994d..ae70247d515 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
374static 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
385static 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
411static struct pcmcia_device_id avmcs_ids[] = { 375static 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
431static int __init avmcs_init(void) 393static int __init avmcs_init(void)