aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/pcmcia/fmvj18x_cs.c
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/net/pcmcia/fmvj18x_cs.c
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/net/pcmcia/fmvj18x_cs.c')
-rw-r--r--drivers/net/pcmcia/fmvj18x_cs.c19
1 files changed, 5 insertions, 14 deletions
diff --git a/drivers/net/pcmcia/fmvj18x_cs.c b/drivers/net/pcmcia/fmvj18x_cs.c
index 6b435e940607..62efbc7c2dca 100644
--- a/drivers/net/pcmcia/fmvj18x_cs.c
+++ b/drivers/net/pcmcia/fmvj18x_cs.c
@@ -683,13 +683,8 @@ static int fmvj18x_suspend(struct pcmcia_device *p_dev)
683 dev_link_t *link = dev_to_instance(p_dev); 683 dev_link_t *link = dev_to_instance(p_dev);
684 struct net_device *dev = link->priv; 684 struct net_device *dev = link->priv;
685 685
686 link->state |= DEV_SUSPEND; 686 if ((link->state & DEV_CONFIG) && (link->open))
687 if (link->state & DEV_CONFIG) { 687 netif_device_detach(dev);
688 if (link->open)
689 netif_device_detach(dev);
690 pcmcia_release_configuration(link->handle);
691 }
692
693 688
694 return 0; 689 return 0;
695} 690}
@@ -699,13 +694,9 @@ static int fmvj18x_resume(struct pcmcia_device *p_dev)
699 dev_link_t *link = dev_to_instance(p_dev); 694 dev_link_t *link = dev_to_instance(p_dev);
700 struct net_device *dev = link->priv; 695 struct net_device *dev = link->priv;
701 696
702 link->state &= ~DEV_SUSPEND; 697 if ((link->state & DEV_CONFIG) && (link->open)) {
703 if (link->state & DEV_CONFIG) { 698 fjn_reset(dev);
704 pcmcia_request_configuration(link->handle, &link->conf); 699 netif_device_attach(dev);
705 if (link->open) {
706 fjn_reset(dev);
707 netif_device_attach(dev);
708 }
709 } 700 }
710 701
711 return 0; 702 return 0;