summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorJoseph Hwang <josephsih@chromium.org>2021-08-15 20:17:16 +0800
committerMarcel Holtmann <marcel@holtmann.org>2021-08-30 16:44:32 +0200
commitae7d925b5c0432c058fd175a70f1de6eee7a3f89 (patch)
treeadbd33474c812688125f3669091fe3ecd10bd2fa /include
parent93fb70bc112e922def6e50b37e20ccfce0c67c0a (diff)
downloadlinux-stable-ae7d925b5c0432c058fd175a70f1de6eee7a3f89.tar.gz
linux-stable-ae7d925b5c0432c058fd175a70f1de6eee7a3f89.tar.bz2
linux-stable-ae7d925b5c0432c058fd175a70f1de6eee7a3f89.zip
Bluetooth: Support the quality report events
This patch allows a user space process to enable/disable the quality report events dynamically through the set experimental feature mgmt interface. Since the quality report feature needs to invoke the callback function provided by the driver, i.e., hdev->set_quality_report, a valid controller index is required. Reviewed-by: Miao-chen Chou <mcchou@chromium.org> Signed-off-by: Joseph Hwang <josephsih@chromium.org> Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
Diffstat (limited to 'include')
-rw-r--r--include/net/bluetooth/hci.h1
-rw-r--r--include/net/bluetooth/hci_core.h2
2 files changed, 3 insertions, 0 deletions
diff --git a/include/net/bluetooth/hci.h b/include/net/bluetooth/hci.h
index b80415011dcd..bb6b7398f490 100644
--- a/include/net/bluetooth/hci.h
+++ b/include/net/bluetooth/hci.h
@@ -330,6 +330,7 @@ enum {
HCI_ENABLE_LL_PRIVACY,
HCI_CMD_PENDING,
HCI_FORCE_NO_MITM,
+ HCI_QUALITY_REPORT,
__HCI_NUM_FLAGS,
};
diff --git a/include/net/bluetooth/hci_core.h b/include/net/bluetooth/hci_core.h
index a7360c8c72f8..77ea1a8a3db5 100644
--- a/include/net/bluetooth/hci_core.h
+++ b/include/net/bluetooth/hci_core.h
@@ -606,6 +606,7 @@ struct hci_dev {
int (*set_bdaddr)(struct hci_dev *hdev, const bdaddr_t *bdaddr);
void (*cmd_timeout)(struct hci_dev *hdev);
bool (*prevent_wake)(struct hci_dev *hdev);
+ int (*set_quality_report)(struct hci_dev *hdev, bool enable);
};
#define HCI_PHY_HANDLE(handle) (handle & 0xff)
@@ -760,6 +761,7 @@ extern struct mutex hci_cb_list_lock;
hci_dev_clear_flag(hdev, HCI_LE_ADV); \
hci_dev_clear_flag(hdev, HCI_LL_RPA_RESOLUTION);\
hci_dev_clear_flag(hdev, HCI_PERIODIC_INQ); \
+ hci_dev_clear_flag(hdev, HCI_QUALITY_REPORT); \
} while (0)
/* ----- HCI interface to upper protocols ----- */