Bluetooth: Support SDIO devices that are AMP controllers
authorDavid Vrabel <david.vrabel@csr.com>
Mon, 9 Aug 2010 21:42:21 +0000 (17:42 -0400)
committerGustavo F. Padovan <padovan@profusion.mobi>
Tue, 12 Oct 2010 15:44:51 +0000 (12:44 -0300)
Signed-off-by: David Vrabel <david.vrabel@csr.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Signed-off-by: Gustavo F. Padovan <padovan@profusion.mobi>
drivers/bluetooth/btsdio.c
include/linux/mmc/sdio_ids.h

index 76e5127884f05bc948c3a6d2b306a07483dbd033..792e32d29a1de981c3bf84ad15a4e7899a94ec5a 100644 (file)
@@ -46,6 +46,9 @@ static const struct sdio_device_id btsdio_table[] = {
        /* Generic Bluetooth Type-B SDIO device */
        { SDIO_DEVICE_CLASS(SDIO_CLASS_BT_B) },
 
+       /* Generic Bluetooth AMP controller */
+       { SDIO_DEVICE_CLASS(SDIO_CLASS_BT_AMP) },
+
        { }     /* Terminating entry */
 };
 
@@ -329,6 +332,11 @@ static int btsdio_probe(struct sdio_func *func,
        hdev->bus = HCI_SDIO;
        hdev->driver_data = data;
 
+       if (id->class == SDIO_CLASS_BT_AMP)
+               hdev->dev_type = HCI_AMP;
+       else
+               hdev->dev_type = HCI_BREDR;
+
        data->hdev = hdev;
 
        SET_HCIDEV_DEV(hdev, &func->dev);
index 33b2ea09a4ad5a616957c2fc417ca34db677ae79..a36ab3bc7b03bbc69978c9a3d0d7b31303818572 100644 (file)
@@ -18,6 +18,7 @@
 #define SDIO_CLASS_PHS         0x06    /* PHS standard interface */
 #define SDIO_CLASS_WLAN                0x07    /* WLAN interface */
 #define SDIO_CLASS_ATA         0x08    /* Embedded SDIO-ATA std interface */
+#define SDIO_CLASS_BT_AMP      0x09    /* Type-A Bluetooth AMP interface */
 
 /*
  * Vendors and devices.  Sort key: vendor first, device next.