]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/net/wireless/atmel_cs.c
Pull bugzilla-5737 into release branch
[linux-2.6-omap-h63xx.git] / drivers / net / wireless / atmel_cs.c
index 962272c1342a44cff6357eff1f4c9093c3cd0928..26bf1127524df2f147f5e517d87a3e8101d58949 100644 (file)
@@ -181,7 +181,6 @@ static int atmel_probe(struct pcmcia_device *p_dev)
        }
        p_dev->priv = local;
 
-       p_dev->state |= DEV_PRESENT | DEV_CONFIG_PENDING;
        return atmel_config(p_dev);
 } /* atmel_attach */
 
@@ -198,8 +197,7 @@ static void atmel_detach(struct pcmcia_device *link)
 {
        DEBUG(0, "atmel_detach(0x%p)\n", link);
 
-       if (link->state & DEV_CONFIG)
-               atmel_release(link);
+       atmel_release(link);
 
        kfree(link->priv);
 }
@@ -218,13 +216,12 @@ do { last_fn = (fn); if ((last_ret = (ret)) != 0) goto cs_failed; } while (0)
 /* Call-back function to interrogate PCMCIA-specific information
    about the current existance of the card */
 static int card_present(void *arg)
-{ 
+{
        struct pcmcia_device *link = (struct pcmcia_device *)arg;
-       if (link->state & DEV_SUSPEND)
-               return 0;
-       else if (link->state & DEV_PRESENT)
+
+       if (pcmcia_dev_present(link))
                return 1;
-       
+
        return 0;
 }
 
@@ -257,10 +254,7 @@ static int atmel_config(struct pcmcia_device *link)
        CS_CHECK(ParseTuple, pcmcia_parse_tuple(link, &tuple, &parse));
        link->conf.ConfigBase = parse.config.base;
        link->conf.Present = parse.config.rmask[0];
-       
-       /* Configure card */
-       link->state |= DEV_CONFIG;
-       
+
        /*
          In this loop, we scan the CIS for configuration table entries,
          each of which describes a valid card configuration, including
@@ -373,10 +367,9 @@ static int atmel_config(struct pcmcia_device *link)
        strcpy(dev->node.dev_name, ((local_info_t*)link->priv)->eth_dev->name );
        dev->node.major = dev->node.minor = 0;
        link->dev_node = &dev->node;
-                       
-       link->state &= ~DEV_CONFIG_PENDING;
+
        return 0;
-       
+
  cs_failed:
        cs_error(link, last_fn, last_ret);
        atmel_release(link);
@@ -408,8 +401,7 @@ static int atmel_suspend(struct pcmcia_device *link)
 {
        local_info_t *local = link->priv;
 
-       if (link->state & DEV_CONFIG)
-               netif_device_detach(local->eth_dev);
+       netif_device_detach(local->eth_dev);
 
        return 0;
 }
@@ -418,10 +410,8 @@ static int atmel_resume(struct pcmcia_device *link)
 {
        local_info_t *local = link->priv;
 
-       if (link->state & DEV_CONFIG) {
-               atmel_open(local->eth_dev);
-               netif_device_attach(local->eth_dev);
-       }
+       atmel_open(local->eth_dev);
+       netif_device_attach(local->eth_dev);
 
        return 0;
 }