[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20240529033038.28458-3-chris.lu@mediatek.com>
Date: Wed, 29 May 2024 11:30:37 +0800
From: Chris Lu <chris.lu@...iatek.com>
To: Marcel Holtmann <marcel@...tmann.org>, Johan Hedberg
<johan.hedberg@...il.com>, Luiz Von Dentz <luiz.dentz@...il.com>
CC: Sean Wang <sean.wang@...iatek.com>, Deren Wu <deren.Wu@...iatek.com>,
Aaron Hou <aaron.hou@...iatek.com>, Steve Lee <steve.lee@...iatek.com>,
linux-bluetooth <linux-bluetooth@...r.kernel.org>, linux-kernel
<linux-kernel@...r.kernel.org>, linux-mediatek
<linux-mediatek@...ts.infradead.org>, Chris Lu <chris.lu@...iatek.com>
Subject: [PATCH 2/3] Bluetooth: btmtk: add macro to get/set/clear MediaTek defined flags
Define a enumeration to store MediaTek specific flags and
macro function to set/test/clear the flags in data structure.
Signed-off-by: Chris Lu <chris.lu@...iatek.com>
Signed-off-by: Sean Wang <sean.wang@...iatek.com>
---
drivers/bluetooth/btmtk.h | 23 +++++++++++++++++++++++
1 file changed, 23 insertions(+)
diff --git a/drivers/bluetooth/btmtk.h b/drivers/bluetooth/btmtk.h
index e76b8a358be8..6a0697a22b16 100644
--- a/drivers/bluetooth/btmtk.h
+++ b/drivers/bluetooth/btmtk.h
@@ -128,6 +128,10 @@ struct btmtk_hci_wmt_params {
typedef int (*btmtk_reset_sync_func_t)(struct hci_dev *, void *);
+enum {
+ __BTMTK_NUM_FLAGS,
+};
+
struct btmtk_coredump_info {
const char *driver_name;
u32 fw_version;
@@ -136,11 +140,30 @@ struct btmtk_coredump_info {
};
struct btmediatek_data {
+ DECLARE_BITMAP(flags, __BTMTK_NUM_FLAGS);
+
u32 dev_id;
btmtk_reset_sync_func_t reset_sync;
struct btmtk_coredump_info cd_info;
};
+#define btmtk_set_flag(hdev, nr) \
+ do { \
+ struct btmediatek_data *mediatek = hci_get_priv((hdev)); \
+ set_bit((nr), mediatek->flags); \
+ } while (0)
+
+#define btmtk_clear_flag(hdev, nr) \
+ do { \
+ struct btmediatek_data *mediatek = hci_get_priv((hdev)); \
+ clear_bit((nr), mediatek->flags); \
+ } while (0)
+
+#define btmtk_get_flag(hdev) \
+ (((struct btmediatek_data *)hci_get_priv(hdev))->flags)
+
+#define btmtk_test_flag(hdev, nr) test_bit((nr), btmtk_get_flag(hdev))
+
typedef int (*wmt_cmd_sync_func_t)(struct hci_dev *,
struct btmtk_hci_wmt_params *);
--
2.18.0
Powered by blists - more mailing lists