Bluetooth: Add controller types for BR/EDR and 802.11 AMP
[pandora-kernel.git] / net / bluetooth / hci_core.c
index 94ba349..4ad2319 100644 (file)
@@ -491,6 +491,10 @@ int hci_dev_open(__u16 dev)
        if (test_bit(HCI_QUIRK_RAW_DEVICE, &hdev->quirks))
                set_bit(HCI_RAW, &hdev->flags);
 
+       /* Treat all non BR/EDR controllers as raw devices for now */
+       if (hdev->dev_type != HCI_BREDR)
+               set_bit(HCI_RAW, &hdev->flags);
+
        if (hdev->open(hdev)) {
                ret = -EIO;
                goto done;
@@ -797,7 +801,7 @@ int hci_get_dev_info(void __user *arg)
 
        strcpy(di.name, hdev->name);
        di.bdaddr   = hdev->bdaddr;
-       di.type     = hdev->type;
+       di.type     = (hdev->bus & 0x0f) | (hdev->dev_type << 4);
        di.flags    = hdev->flags;
        di.pkt_type = hdev->pkt_type;
        di.acl_mtu  = hdev->acl_mtu;
@@ -869,8 +873,8 @@ int hci_register_dev(struct hci_dev *hdev)
        struct list_head *head = &hci_dev_list, *p;
        int i, id = 0;
 
-       BT_DBG("%p name %s type %d owner %p", hdev, hdev->name,
-                                               hdev->type, hdev->owner);
+       BT_DBG("%p name %s bus %d owner %p", hdev, hdev->name,
+                                               hdev->bus, hdev->owner);
 
        if (!hdev->open || !hdev->close || !hdev->destruct)
                return -EINVAL;
@@ -946,7 +950,7 @@ int hci_unregister_dev(struct hci_dev *hdev)
 {
        int i;
 
-       BT_DBG("%p name %s type %d", hdev, hdev->name, hdev->type);
+       BT_DBG("%p name %s bus %d", hdev, hdev->name, hdev->bus);
 
        write_lock_bh(&hci_dev_list_lock);
        list_del(&hdev->list);