]> err.no Git - linux-2.6/blobdiff - drivers/bluetooth/bt3c_cs.c
Merge branch 'upstream' of git://electric-eye.fr.zoreil.com/home/romieu/linux-2.6...
[linux-2.6] / drivers / bluetooth / bt3c_cs.c
index 80861f4f35e3c7c764067a9c732687510c197e80..df7bb016df491bdda5296eeee2b74e60e7713704 100644 (file)
@@ -21,7 +21,6 @@
  *
  */
 
-#include <linux/config.h>
 #include <linux/module.h>
 
 #include <linux/kernel.h>
@@ -195,7 +194,7 @@ static void bt3c_write_wakeup(bt3c_info_t *info)
                register struct sk_buff *skb;
                register int len;
 
-               if (!(info->p_dev->state & DEV_PRESENT))
+               if (!pcmcia_dev_present(info->p_dev))
                        break;
 
 
@@ -583,6 +582,7 @@ static int bt3c_open(bt3c_info_t *info)
 
        hdev->type = HCI_PCCARD;
        hdev->driver_data = info;
+       SET_HCIDEV_DEV(hdev, &info->p_dev->dev);
 
        hdev->open     = bt3c_hci_open;
        hdev->close    = bt3c_hci_close;
@@ -668,7 +668,6 @@ static int bt3c_probe(struct pcmcia_device *link)
        link->conf.Attributes = CONF_ENABLE_IRQ;
        link->conf.IntType = INT_MEMORY_AND_IO;
 
-       link->state |= DEV_PRESENT | DEV_CONFIG_PENDING;
        return bt3c_config(link);
 }
 
@@ -677,9 +676,7 @@ static void bt3c_detach(struct pcmcia_device *link)
 {
        bt3c_info_t *info = link->priv;
 
-       if (link->state & DEV_CONFIG)
-               bt3c_release(link);
-
+       bt3c_release(link);
        kfree(info);
 }
 
@@ -733,9 +730,6 @@ static int bt3c_config(struct pcmcia_device *link)
        link->conf.ConfigBase = parse.config.base;
        link->conf.Present = parse.config.rmask[0];
 
-       /* Configure card */
-       link->state |= DEV_CONFIG;
-
        /* First pass: look for a config entry that looks normal. */
        tuple.TupleData = (cisdata_t *)buf;
        tuple.TupleOffset = 0;
@@ -805,7 +799,6 @@ found_port:
 
        strcpy(info->node.dev_name, info->hdev->name);
        link->dev_node = &info->node;
-       link->state &= ~DEV_CONFIG_PENDING;
 
        return 0;
 
@@ -822,8 +815,7 @@ static void bt3c_release(struct pcmcia_device *link)
 {
        bt3c_info_t *info = link->priv;
 
-       if (link->state & DEV_PRESENT)
-               bt3c_close(info);
+       bt3c_close(info);
 
        pcmcia_disable_device(link);
 }