aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/bluetooth/btsdio.c8
-rw-r--r--include/linux/mmc/sdio_ids.h1
2 files changed, 9 insertions, 0 deletions
diff --git a/drivers/bluetooth/btsdio.c b/drivers/bluetooth/btsdio.c
index 76e5127884f0..792e32d29a1d 100644
--- a/drivers/bluetooth/btsdio.c
+++ b/drivers/bluetooth/btsdio.c
@@ -46,6 +46,9 @@ static const struct sdio_device_id btsdio_table[] = {
46 /* Generic Bluetooth Type-B SDIO device */ 46 /* Generic Bluetooth Type-B SDIO device */
47 { SDIO_DEVICE_CLASS(SDIO_CLASS_BT_B) }, 47 { SDIO_DEVICE_CLASS(SDIO_CLASS_BT_B) },
48 48
49 /* Generic Bluetooth AMP controller */
50 { SDIO_DEVICE_CLASS(SDIO_CLASS_BT_AMP) },
51
49 { } /* Terminating entry */ 52 { } /* Terminating entry */
50}; 53};
51 54
@@ -329,6 +332,11 @@ static int btsdio_probe(struct sdio_func *func,
329 hdev->bus = HCI_SDIO; 332 hdev->bus = HCI_SDIO;
330 hdev->driver_data = data; 333 hdev->driver_data = data;
331 334
335 if (id->class == SDIO_CLASS_BT_AMP)
336 hdev->dev_type = HCI_AMP;
337 else
338 hdev->dev_type = HCI_BREDR;
339
332 data->hdev = hdev; 340 data->hdev = hdev;
333 341
334 SET_HCIDEV_DEV(hdev, &func->dev); 342 SET_HCIDEV_DEV(hdev, &func->dev);
diff --git a/include/linux/mmc/sdio_ids.h b/include/linux/mmc/sdio_ids.h
index 33b2ea09a4ad..a36ab3bc7b03 100644
--- a/include/linux/mmc/sdio_ids.h
+++ b/include/linux/mmc/sdio_ids.h
@@ -18,6 +18,7 @@
18#define SDIO_CLASS_PHS 0x06 /* PHS standard interface */ 18#define SDIO_CLASS_PHS 0x06 /* PHS standard interface */
19#define SDIO_CLASS_WLAN 0x07 /* WLAN interface */ 19#define SDIO_CLASS_WLAN 0x07 /* WLAN interface */
20#define SDIO_CLASS_ATA 0x08 /* Embedded SDIO-ATA std interface */ 20#define SDIO_CLASS_ATA 0x08 /* Embedded SDIO-ATA std interface */
21#define SDIO_CLASS_BT_AMP 0x09 /* Type-A Bluetooth AMP interface */
21 22
22/* 23/*
23 * Vendors and devices. Sort key: vendor first, device next. 24 * Vendors and devices. Sort key: vendor first, device next.