summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKiran K <kiran.k@intel.com>2021-09-07 12:12:49 +0200
committerLuiz Augusto von Dentz <luiz.von.dentz@intel.com>2021-09-07 23:09:18 +0200
commit9682d36c21196c4019d84e77eae3921128927ce2 (patch)
treeb0662f5c9211b44703a2978e7ce2bc449c8916c0
parentBluetooth: Allow usb to auto-suspend when SCO use non-HCI transport (diff)
downloadlinux-9682d36c21196c4019d84e77eae3921128927ce2.tar.xz
linux-9682d36c21196c4019d84e77eae3921128927ce2.zip
Bluetooth: hci_vhci: Add support for offload codecs over SCO
Define the callbacks required to support offload codecs Signed-off-by: Kiran K <kiran.k@intel.com> Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
-rw-r--r--drivers/bluetooth/hci_vhci.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/drivers/bluetooth/hci_vhci.c b/drivers/bluetooth/hci_vhci.c
index 8ab26dec5f6e..cc3679f3491d 100644
--- a/drivers/bluetooth/hci_vhci.c
+++ b/drivers/bluetooth/hci_vhci.c
@@ -73,6 +73,24 @@ static int vhci_send_frame(struct hci_dev *hdev, struct sk_buff *skb)
return 0;
}
+static int vhci_get_data_path_id(struct hci_dev *hdev, u8 *data_path_id)
+{
+ *data_path_id = 0;
+ return 0;
+}
+
+static int vhci_get_codec_config_data(struct hci_dev *hdev, __u8 type,
+ struct bt_codec *codec, __u8 *vnd_len,
+ __u8 **vnd_data)
+{
+ if (type != ESCO_LINK)
+ return -EINVAL;
+
+ *vnd_len = 0;
+ *vnd_data = NULL;
+ return 0;
+}
+
static int __vhci_create_device(struct vhci_data *data, __u8 opcode)
{
struct hci_dev *hdev;
@@ -112,6 +130,8 @@ static int __vhci_create_device(struct vhci_data *data, __u8 opcode)
hdev->close = vhci_close_dev;
hdev->flush = vhci_flush;
hdev->send = vhci_send_frame;
+ hdev->get_data_path_id = vhci_get_data_path_id;
+ hdev->get_codec_config_data = vhci_get_codec_config_data;
/* bit 6 is for external configuration */
if (opcode & 0x40)