Преглед на файлове

Bluetooth: Support SDIO devices that are AMP controllers

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>
David Vrabel преди 15 години
родител
ревизия
fb3d8eb47c
променени са 2 файла, в които са добавени 9 реда и са изтрити 0 реда
  1. 8 0
      drivers/bluetooth/btsdio.c
  2. 1 0
      include/linux/mmc/sdio_ids.h

+ 8 - 0
drivers/bluetooth/btsdio.c

@@ -46,6 +46,9 @@ static const struct sdio_device_id btsdio_table[] = {
 	/* Generic Bluetooth Type-B SDIO device */
 	/* Generic Bluetooth Type-B SDIO device */
 	{ SDIO_DEVICE_CLASS(SDIO_CLASS_BT_B) },
 	{ SDIO_DEVICE_CLASS(SDIO_CLASS_BT_B) },
 
 
+	/* Generic Bluetooth AMP controller */
+	{ SDIO_DEVICE_CLASS(SDIO_CLASS_BT_AMP) },
+
 	{ }	/* Terminating entry */
 	{ }	/* Terminating entry */
 };
 };
 
 
@@ -329,6 +332,11 @@ static int btsdio_probe(struct sdio_func *func,
 	hdev->bus = HCI_SDIO;
 	hdev->bus = HCI_SDIO;
 	hdev->driver_data = data;
 	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;
 	data->hdev = hdev;
 
 
 	SET_HCIDEV_DEV(hdev, &func->dev);
 	SET_HCIDEV_DEV(hdev, &func->dev);

+ 1 - 0
include/linux/mmc/sdio_ids.h

@@ -18,6 +18,7 @@
 #define SDIO_CLASS_PHS		0x06	/* PHS standard interface */
 #define SDIO_CLASS_PHS		0x06	/* PHS standard interface */
 #define SDIO_CLASS_WLAN		0x07	/* WLAN interface */
 #define SDIO_CLASS_WLAN		0x07	/* WLAN interface */
 #define SDIO_CLASS_ATA		0x08	/* Embedded SDIO-ATA std 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.
  * Vendors and devices.  Sort key: vendor first, device next.