[PATCH 4/6] Bluetooth: btusb: Add wrappers btusb_recv_{event,acl}_hdev()
From: Zijun Hu
Date: Thu Jul 09 2026 - 02:20:23 EST
Vendor-specific files need to hand BT frames back to btusb for reporting
upwards after filtering out non-BT frames, but the existing helpers take
struct btusb_data *, which is private to btusb_main.c:
int btusb_recv_event(struct btusb_data *data, struct sk_buff *skb)
int btusb_recv_acl(struct btusb_data *data, struct sk_buff *skb)
Add two wrappers taking struct hci_dev * so they can be used from
vendor files.
Signed-off-by: Zijun Hu <zijun.hu@xxxxxxxxxxxxxxxx>
---
drivers/bluetooth/btusb.c | 16 ++++++++++++++++
1 file changed, 16 insertions(+)
diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c
index e5642d966153..d8f076baf3dd 100644
--- a/drivers/bluetooth/btusb.c
+++ b/drivers/bluetooth/btusb.c
@@ -1261,6 +1261,14 @@ static int btusb_recv_event(struct btusb_data *data, struct sk_buff *skb)
return data->recv_event(data->hdev, skb);
}
+static int __maybe_unused btusb_recv_event_hdev(struct hci_dev *hdev,
+ struct sk_buff *skb)
+{
+ struct btusb_data *data = hci_get_drvdata(hdev);
+
+ return btusb_recv_event(data, skb);
+}
+
static int btusb_recv_intr(struct btusb_data *data, void *buffer, int count)
{
struct sk_buff *skb;
@@ -1343,6 +1351,14 @@ static int btusb_recv_acl(struct btusb_data *data, struct sk_buff *skb)
return 0;
}
+static int __maybe_unused btusb_recv_acl_hdev(struct hci_dev *hdev,
+ struct sk_buff *skb)
+{
+ struct btusb_data *data = hci_get_drvdata(hdev);
+
+ return btusb_recv_acl(data, skb);
+}
+
static int btusb_recv_bulk(struct btusb_data *data, void *buffer, int count)
{
struct sk_buff *skb;
--
2.34.1