Bluetooth: hci_vhci: Add support for offload codecs over SCO
authorKiran K <kiran.k@intel.com>
Tue, 7 Sep 2021 10:12:49 +0000 (15:42 +0530)
committerLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
Tue, 7 Sep 2021 21:09:18 +0000 (14:09 -0700)
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>
drivers/bluetooth/hci_vhci.c

index 8ab26dec5f6e8ccdd1a9c796f4c66ebdd13a63c7..cc3679f3491d46e2ec22f75364fdcba56687f108 100644 (file)
@@ -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)