Linux bluetooth development
 help / color / mirror / Atom feed
* [PATCH 0/6] Bluetooth: btusb: Preparation for upcoming Qualcomm QCC2072 support
@ 2026-07-09  6:14 Zijun Hu
  2026-07-09  6:14 ` [PATCH 1/6] Bluetooth: coredump: Introduce and apply hci_devcd_state_name() Zijun Hu
                   ` (6 more replies)
  0 siblings, 7 replies; 10+ messages in thread
From: Zijun Hu @ 2026-07-09  6:14 UTC (permalink / raw)
  To: Marcel Holtmann, Luiz Augusto von Dentz
  Cc: Zijun Hu, linux-bluetooth, linux-kernel, Zijun Hu

This series collects the btusb and devcoredump changes required by the
upcoming Qualcomm QCC2072 Bluetooth driver. None of them are QCC2072-
specific: they refactor btusb into a shape that can host vendor-specific
source files, and make a few coredump helpers reusable.

Posting them as a standalone series because the QCC2072 driver itself is
larger and will take longer to review. These prerequisites are small and
self-contained, so they can hopefully be reviewed and merged on their own
in the meantime.

The series contains:
 - coredump: a readable state-name helper and a fixed-size dump header,
   both reused by the vendor driver
 - btusb: an indirect recv_intr() hook, hci_dev-based recv wrappers, a
   shared reset-prepare helper, and a split into btusb_main.c so vendor
   files can be added later

No functional change intended.

Signed-off-by: Zijun Hu <zijun.hu@oss.qualcomm.com>
---
Zijun Hu (6):
      Bluetooth: coredump: Introduce and apply hci_devcd_state_name()
      Bluetooth: coredump: Allow drivers to pad dump header to fixed size
      Bluetooth: btusb: Add an indirect recv_intr() hook to btusb_data
      Bluetooth: btusb: Add wrappers btusb_recv_{event,acl}_hdev()
      Bluetooth: btusb: Add a simple static btusb_prepare_reset()
      Bluetooth: btusb: Build the driver from multiple source files

 drivers/bluetooth/Makefile                  |  2 ++
 drivers/bluetooth/{btusb.c => btusb_main.c} | 33 ++++++++++++++++++++++---
 include/net/bluetooth/coredump.h            | 11 +++++++++
 net/bluetooth/coredump.c                    | 38 ++++++++++++++++++++---------
 4 files changed, 68 insertions(+), 16 deletions(-)
---
base-commit: ca75417ab1793f23b3ddc91869f0809b593d6954
change-id: 20260708-btusb_prep_qcc2072-23604a4e81d1

Best regards,
-- 
Zijun Hu <zijun.hu@oss.qualcomm.com>


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [PATCH 1/6] Bluetooth: coredump: Introduce and apply hci_devcd_state_name()
  2026-07-09  6:14 [PATCH 0/6] Bluetooth: btusb: Preparation for upcoming Qualcomm QCC2072 support Zijun Hu
@ 2026-07-09  6:14 ` Zijun Hu
  2026-07-09  9:29   ` Bluetooth: btusb: Preparation for upcoming Qualcomm QCC2072 support bluez.test.bot
  2026-07-09  6:14 ` [PATCH 2/6] Bluetooth: coredump: Allow drivers to pad dump header to fixed size Zijun Hu
                   ` (5 subsequent siblings)
  6 siblings, 1 reply; 10+ messages in thread
From: Zijun Hu @ 2026-07-09  6:14 UTC (permalink / raw)
  To: Marcel Holtmann, Luiz Augusto von Dentz
  Cc: Zijun Hu, linux-bluetooth, linux-kernel, Zijun Hu

Introduce hci_devcd_state_name() to make devcoredump state more
readable, and apply it in coredump.c. Also remove a trailing space
in two bt_dev_dbg() format strings while applying it.

Signed-off-by: Zijun Hu <zijun.hu@oss.qualcomm.com>
---
 include/net/bluetooth/coredump.h |  7 +++++++
 net/bluetooth/coredump.c         | 31 ++++++++++++++++++++++++-------
 2 files changed, 31 insertions(+), 7 deletions(-)

diff --git a/include/net/bluetooth/coredump.h b/include/net/bluetooth/coredump.h
index 72f51b587a04..ab85a6adfffd 100644
--- a/include/net/bluetooth/coredump.h
+++ b/include/net/bluetooth/coredump.h
@@ -60,6 +60,8 @@ struct hci_devcoredump {
 
 #ifdef CONFIG_DEV_COREDUMP
 
+const char *hci_devcd_state_name(enum devcoredump_state state);
+
 void hci_devcd_reset(struct hci_dev *hdev);
 void hci_devcd_rx(struct work_struct *work);
 void hci_devcd_timeout(struct work_struct *work);
@@ -74,6 +76,11 @@ int hci_devcd_abort(struct hci_dev *hdev);
 
 #else
 
+static inline const char *hci_devcd_state_name(enum devcoredump_state state)
+{
+	return "";
+}
+
 static inline void hci_devcd_reset(struct hci_dev *hdev) {}
 static inline void hci_devcd_rx(struct work_struct *work) {}
 static inline void hci_devcd_timeout(struct work_struct *work) {}
diff --git a/net/bluetooth/coredump.c b/net/bluetooth/coredump.c
index 720cb79adf96..3d4c2194ef43 100644
--- a/net/bluetooth/coredump.c
+++ b/net/bluetooth/coredump.c
@@ -30,8 +30,9 @@ struct hci_devcoredump_skb_pattern {
 
 #define DBG_UNEXPECTED_STATE() \
 	bt_dev_dbg(hdev, \
-		   "Unexpected packet (%d) for state (%d). ", \
-		   hci_dmp_cb(skb)->pkt_type, hdev->dump.state)
+		   "Unexpected packet (%d) for state %s.", \
+		   hci_dmp_cb(skb)->pkt_type, \
+		   hci_devcd_state_name(hdev->dump.state))
 
 #define MAX_DEVCOREDUMP_HDR_SIZE	512	/* bytes */
 
@@ -50,8 +51,9 @@ static int hci_devcd_update_hdr_state(char *buf, size_t size, int state)
 /* Call with hci_dev_lock only. */
 static int hci_devcd_update_state(struct hci_dev *hdev, int state)
 {
-	bt_dev_dbg(hdev, "Updating devcoredump state from %d to %d.",
-		   hdev->dump.state, state);
+	bt_dev_dbg(hdev, "Updating devcoredump state from %s to %s.",
+		   hci_devcd_state_name(hdev->dump.state),
+		   hci_devcd_state_name(state));
 
 	hdev->dump.state = state;
 
@@ -245,7 +247,7 @@ static void hci_devcd_dump(struct hci_dev *hdev)
 	struct sk_buff *skb;
 	u32 size;
 
-	bt_dev_dbg(hdev, "state %d", hdev->dump.state);
+	bt_dev_dbg(hdev, "state %s", hci_devcd_state_name(hdev->dump.state));
 
 	size = hdev->dump.tail - hdev->dump.head;
 
@@ -368,8 +370,9 @@ void hci_devcd_rx(struct work_struct *work)
 			break;
 
 		default:
-			bt_dev_dbg(hdev, "Unknown packet (%d) for state (%d). ",
-				   hci_dmp_cb(skb)->pkt_type, hdev->dump.state);
+			bt_dev_dbg(hdev, "Unknown packet (%d) for state %s.",
+				   hci_dmp_cb(skb)->pkt_type,
+				   hci_devcd_state_name(hdev->dump.state));
 			break;
 		}
 
@@ -551,3 +554,17 @@ int hci_devcd_abort(struct hci_dev *hdev)
 	return 0;
 }
 EXPORT_SYMBOL(hci_devcd_abort);
+
+const char *hci_devcd_state_name(enum devcoredump_state state)
+{
+	static const char * const state_names[] = {
+		[HCI_DEVCOREDUMP_IDLE]		= "IDLE",
+		[HCI_DEVCOREDUMP_ACTIVE]	= "ACTIVE",
+		[HCI_DEVCOREDUMP_DONE]		= "DONE",
+		[HCI_DEVCOREDUMP_ABORT]		= "ABORT",
+		[HCI_DEVCOREDUMP_TIMEOUT]	= "TIMEOUT",
+	};
+
+	return state_names[state];
+}
+EXPORT_SYMBOL(hci_devcd_state_name);

-- 
2.34.1


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH 2/6] Bluetooth: coredump: Allow drivers to pad dump header to fixed size
  2026-07-09  6:14 [PATCH 0/6] Bluetooth: btusb: Preparation for upcoming Qualcomm QCC2072 support Zijun Hu
  2026-07-09  6:14 ` [PATCH 1/6] Bluetooth: coredump: Introduce and apply hci_devcd_state_name() Zijun Hu
@ 2026-07-09  6:14 ` Zijun Hu
  2026-07-09  6:15 ` [PATCH 3/6] Bluetooth: btusb: Add an indirect recv_intr() hook to btusb_data Zijun Hu
                   ` (4 subsequent siblings)
  6 siblings, 0 replies; 10+ messages in thread
From: Zijun Hu @ 2026-07-09  6:14 UTC (permalink / raw)
  To: Marcel Holtmann, Luiz Augusto von Dentz
  Cc: Zijun Hu, linux-bluetooth, linux-kernel, Zijun Hu

To let a driver easily separate header and data in the generated
coredump, allow a vendor driver to pad its header to a fixed size by:
 - exposing MAX_HCI_DEVCD_HDR_SIZE as the max header size
 - exposing HCI_DEVCD_HDR_END as the header-ending marker

Signed-off-by: Zijun Hu <zijun.hu@oss.qualcomm.com>
---
 include/net/bluetooth/coredump.h | 4 ++++
 net/bluetooth/coredump.c         | 7 ++-----
 2 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/include/net/bluetooth/coredump.h b/include/net/bluetooth/coredump.h
index ab85a6adfffd..b668277bdb76 100644
--- a/include/net/bluetooth/coredump.h
+++ b/include/net/bluetooth/coredump.h
@@ -8,6 +8,10 @@
 
 #define DEVCOREDUMP_TIMEOUT	msecs_to_jiffies(10000)	/* 10 sec */
 
+/* total size shared by coredump and driver's dmp_hdr() */
+#define MAX_HCI_DEVCD_HDR_SIZE	512
+#define HCI_DEVCD_HDR_END	"--- Start dump ---\n"
+
 typedef void (*coredump_t)(struct hci_dev *hdev);
 typedef void (*dmp_hdr_t)(struct hci_dev *hdev, struct sk_buff *skb);
 typedef void (*notify_change_t)(struct hci_dev *hdev, int state);
diff --git a/net/bluetooth/coredump.c b/net/bluetooth/coredump.c
index 3d4c2194ef43..c77bf511679d 100644
--- a/net/bluetooth/coredump.c
+++ b/net/bluetooth/coredump.c
@@ -34,8 +34,6 @@ struct hci_devcoredump_skb_pattern {
 		   hci_dmp_cb(skb)->pkt_type, \
 		   hci_devcd_state_name(hdev->dump.state))
 
-#define MAX_DEVCOREDUMP_HDR_SIZE	512	/* bytes */
-
 static int hci_devcd_update_hdr_state(char *buf, size_t size, int state)
 {
 	int len = 0;
@@ -63,7 +61,6 @@ static int hci_devcd_update_state(struct hci_dev *hdev, int state)
 
 static int hci_devcd_mkheader(struct hci_dev *hdev, struct sk_buff *skb)
 {
-	char dump_start[] = "--- Start dump ---\n";
 	char hdr[80];
 	int hdr_len;
 
@@ -74,7 +71,7 @@ static int hci_devcd_mkheader(struct hci_dev *hdev, struct sk_buff *skb)
 	if (hdev->dump.dmp_hdr)
 		hdev->dump.dmp_hdr(hdev, skb);
 
-	skb_put_data(skb, dump_start, strlen(dump_start));
+	skb_put_data(skb, HCI_DEVCD_HDR_END, strlen(HCI_DEVCD_HDR_END));
 
 	return skb->len;
 }
@@ -154,7 +151,7 @@ static int hci_devcd_prepare(struct hci_dev *hdev, u32 dump_size)
 	int dump_hdr_size;
 	int err = 0;
 
-	skb = alloc_skb(MAX_DEVCOREDUMP_HDR_SIZE, GFP_ATOMIC);
+	skb = alloc_skb(MAX_HCI_DEVCD_HDR_SIZE, GFP_ATOMIC);
 	if (!skb)
 		return -ENOMEM;
 

-- 
2.34.1


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH 3/6] Bluetooth: btusb: Add an indirect recv_intr() hook to btusb_data
  2026-07-09  6:14 [PATCH 0/6] Bluetooth: btusb: Preparation for upcoming Qualcomm QCC2072 support Zijun Hu
  2026-07-09  6:14 ` [PATCH 1/6] Bluetooth: coredump: Introduce and apply hci_devcd_state_name() Zijun Hu
  2026-07-09  6:14 ` [PATCH 2/6] Bluetooth: coredump: Allow drivers to pad dump header to fixed size Zijun Hu
@ 2026-07-09  6:15 ` Zijun Hu
  2026-07-09  6:15 ` [PATCH 4/6] Bluetooth: btusb: Add wrappers btusb_recv_{event,acl}_hdev() Zijun Hu
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 10+ messages in thread
From: Zijun Hu @ 2026-07-09  6:15 UTC (permalink / raw)
  To: Marcel Holtmann, Luiz Augusto von Dentz
  Cc: Zijun Hu, linux-bluetooth, linux-kernel, Zijun Hu

Allow a vendor driver to assemble and handle its non-BT frames from the
interrupt endpoint.

Signed-off-by: Zijun Hu <zijun.hu@oss.qualcomm.com>
---
 drivers/bluetooth/btusb.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c
index 9726a007d25a..e5642d966153 100644
--- a/drivers/bluetooth/btusb.c
+++ b/drivers/bluetooth/btusb.c
@@ -1030,6 +1030,7 @@ struct btusb_data {
 
 	int (*recv_event)(struct hci_dev *hdev, struct sk_buff *skb);
 	int (*recv_acl)(struct hci_dev *hdev, struct sk_buff *skb);
+	int (*recv_intr)(struct btusb_data *data, void *buffer, int count);
 	int (*recv_bulk)(struct btusb_data *data, void *buffer, int count);
 
 	int (*setup_on_usb)(struct hci_dev *hdev);
@@ -1502,7 +1503,7 @@ static void btusb_intr_complete(struct urb *urb)
 	if (urb->status == 0) {
 		hdev->stat.byte_rx += urb->actual_length;
 
-		if (btusb_recv_intr(data, urb->transfer_buffer,
+		if (data->recv_intr(data, urb->transfer_buffer,
 				    urb->actual_length) < 0) {
 			bt_dev_err(hdev, "corrupted event packet");
 			hdev->stat.err_rx++;
@@ -2709,7 +2710,7 @@ static int btusb_recv_bulk_intel(struct btusb_data *data, void *buffer,
 	 * same way as the ones received from the interrupt endpoint.
 	 */
 	if (btintel_test_flag(hdev, INTEL_BOOTLOADER))
-		return btusb_recv_intr(data, buffer, count);
+		return data->recv_intr(data, buffer, count);
 
 	return btusb_recv_bulk(data, buffer, count);
 }
@@ -4172,6 +4173,7 @@ static int btusb_probe(struct usb_interface *intf,
 	spin_lock_init(&data->rxlock);
 
 	data->recv_event = hci_recv_frame;
+	data->recv_intr = btusb_recv_intr;
 	data->recv_bulk = btusb_recv_bulk;
 
 	if (id->driver_info & BTUSB_INTEL_COMBINED) {

-- 
2.34.1


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH 4/6] Bluetooth: btusb: Add wrappers btusb_recv_{event,acl}_hdev()
  2026-07-09  6:14 [PATCH 0/6] Bluetooth: btusb: Preparation for upcoming Qualcomm QCC2072 support Zijun Hu
                   ` (2 preceding siblings ...)
  2026-07-09  6:15 ` [PATCH 3/6] Bluetooth: btusb: Add an indirect recv_intr() hook to btusb_data Zijun Hu
@ 2026-07-09  6:15 ` Zijun Hu
  2026-07-09  6:15 ` [PATCH 5/6] Bluetooth: btusb: Add a simple static btusb_prepare_reset() Zijun Hu
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 10+ messages in thread
From: Zijun Hu @ 2026-07-09  6:15 UTC (permalink / raw)
  To: Marcel Holtmann, Luiz Augusto von Dentz
  Cc: Zijun Hu, linux-bluetooth, linux-kernel, Zijun Hu

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@oss.qualcomm.com>
---
 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


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH 5/6] Bluetooth: btusb: Add a simple static btusb_prepare_reset()
  2026-07-09  6:14 [PATCH 0/6] Bluetooth: btusb: Preparation for upcoming Qualcomm QCC2072 support Zijun Hu
                   ` (3 preceding siblings ...)
  2026-07-09  6:15 ` [PATCH 4/6] Bluetooth: btusb: Add wrappers btusb_recv_{event,acl}_hdev() Zijun Hu
@ 2026-07-09  6:15 ` Zijun Hu
  2026-07-09  6:15 ` [PATCH 6/6] Bluetooth: btusb: Build the driver from multiple source files Zijun Hu
  2026-07-09 13:46 ` [PATCH 0/6] Bluetooth: btusb: Preparation for upcoming Qualcomm QCC2072 support Luiz Augusto von Dentz
  6 siblings, 0 replies; 10+ messages in thread
From: Zijun Hu @ 2026-07-09  6:15 UTC (permalink / raw)
  To: Marcel Holtmann, Luiz Augusto von Dentz
  Cc: Zijun Hu, linux-bluetooth, linux-kernel, Zijun Hu

Add btusb_prepare_reset() to do cleanup before a reset, and apply
it to btusb_mtk_reset() as well.

Signed-off-by: Zijun Hu <zijun.hu@oss.qualcomm.com>
---
 drivers/bluetooth/btusb.c | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb.c
index d8f076baf3dd..e914ed043dc9 100644
--- a/drivers/bluetooth/btusb.c
+++ b/drivers/bluetooth/btusb.c
@@ -2085,6 +2085,14 @@ static void btusb_stop_traffic(struct btusb_data *data)
 	usb_kill_anchored_urbs(&data->ctrl_anchor);
 }
 
+static void btusb_prepare_reset(struct hci_dev *hdev)
+{
+	struct btusb_data *data = hci_get_drvdata(hdev);
+
+	btusb_stop_traffic(data);
+	usb_kill_anchored_urbs(&data->tx_anchor);
+}
+
 static int btusb_close(struct hci_dev *hdev)
 {
 	struct btusb_data *data = hci_get_drvdata(hdev);
@@ -2927,8 +2935,7 @@ static int btusb_mtk_reset(struct hci_dev *hdev, void *rst_data)
 	/* Release MediaTek ISO data interface */
 	btusb_mtk_release_iso_intf(hdev);
 
-	btusb_stop_traffic(data);
-	usb_kill_anchored_urbs(&data->tx_anchor);
+	btusb_prepare_reset(hdev);
 
 	/* Toggle the hard reset line. The MediaTek device is going to
 	 * yank itself off the USB and then replug. The cleanup is handled

-- 
2.34.1


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH 6/6] Bluetooth: btusb: Build the driver from multiple source files
  2026-07-09  6:14 [PATCH 0/6] Bluetooth: btusb: Preparation for upcoming Qualcomm QCC2072 support Zijun Hu
                   ` (4 preceding siblings ...)
  2026-07-09  6:15 ` [PATCH 5/6] Bluetooth: btusb: Add a simple static btusb_prepare_reset() Zijun Hu
@ 2026-07-09  6:15 ` Zijun Hu
  2026-07-09 13:40   ` Luiz Augusto von Dentz
  2026-07-09 13:46 ` [PATCH 0/6] Bluetooth: btusb: Preparation for upcoming Qualcomm QCC2072 support Luiz Augusto von Dentz
  6 siblings, 1 reply; 10+ messages in thread
From: Zijun Hu @ 2026-07-09  6:15 UTC (permalink / raw)
  To: Marcel Holtmann, Luiz Augusto von Dentz
  Cc: Zijun Hu, linux-bluetooth, linux-kernel, Zijun Hu

Allow the driver to include vendor-specific source files by:
- renaming btusb.c to btusb_main.c
- making btusb.o a composite object

No functional change.

Signed-off-by: Zijun Hu <zijun.hu@oss.qualcomm.com>
---
 drivers/bluetooth/Makefile                  | 2 ++
 drivers/bluetooth/{btusb.c => btusb_main.c} | 0
 2 files changed, 2 insertions(+)

diff --git a/drivers/bluetooth/Makefile b/drivers/bluetooth/Makefile
index e6b1c1180d1d..8b436c6de8b7 100644
--- a/drivers/bluetooth/Makefile
+++ b/drivers/bluetooth/Makefile
@@ -51,4 +51,6 @@ hci_uart-$(CONFIG_BT_HCIUART_MRVL)	+= hci_mrvl.o
 hci_uart-$(CONFIG_BT_HCIUART_AML)	+= hci_aml.o
 hci_uart-objs				:= $(hci_uart-y)
 
+btusb-y				:= btusb_main.o
+
 CONTEXT_ANALYSIS := y
diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb_main.c
similarity index 100%
rename from drivers/bluetooth/btusb.c
rename to drivers/bluetooth/btusb_main.c

-- 
2.34.1


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* RE: Bluetooth: btusb: Preparation for upcoming Qualcomm QCC2072 support
  2026-07-09  6:14 ` [PATCH 1/6] Bluetooth: coredump: Introduce and apply hci_devcd_state_name() Zijun Hu
@ 2026-07-09  9:29   ` bluez.test.bot
  0 siblings, 0 replies; 10+ messages in thread
From: bluez.test.bot @ 2026-07-09  9:29 UTC (permalink / raw)
  To: linux-bluetooth, zijun.hu

[-- Attachment #1: Type: text/plain, Size: 3126 bytes --]

This is automated email and please do not reply to this email!

Dear submitter,

Thank you for submitting the patches to the linux bluetooth mailing list.
This is a CI test results with your patch series:
PW Link:https://patchwork.kernel.org/project/bluetooth/list/?series=1124323

---Test result---

Test Summary:
CheckPatch                    FAIL      14.94 seconds
VerifyFixes                   PASS      0.13 seconds
VerifySignedoff               PASS      0.13 seconds
GitLint                       PASS      1.98 seconds
SubjectPrefix                 PASS      0.78 seconds
BuildKernel                   PASS      26.94 seconds
CheckAllWarning               PASS      29.49 seconds
CheckSparse                   PASS      29.35 seconds
BuildKernel32                 PASS      27.22 seconds
CheckKernelLLVM               SKIP      0.00 seconds
TestRunnerSetup               PASS      505.63 seconds
TestRunner_l2cap-tester       PASS      60.98 seconds
TestRunner_iso-tester         PASS      87.99 seconds
TestRunner_bnep-tester        PASS      19.11 seconds
TestRunner_mgmt-tester        FAIL      216.23 seconds
TestRunner_rfcomm-tester      PASS      25.43 seconds
TestRunner_sco-tester         PASS      32.82 seconds
TestRunner_ioctl-tester       PASS      26.48 seconds
TestRunner_mesh-tester        FAIL      25.93 seconds
TestRunner_smp-tester         PASS      23.21 seconds
TestRunner_userchan-tester    PASS      20.16 seconds
TestRunner_6lowpan-tester     PASS      22.61 seconds
IncrementalBuild              PASS      54.44 seconds

Details
##############################
Test: CheckPatch - FAIL
Desc: Run checkpatch.pl script
Output:
[6/6] Bluetooth: btusb: Build the driver from multiple source files
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#167: 
 drivers/bluetooth/{btusb.c => btusb_main.c} | 0

total: 0 errors, 1 warnings, 6 lines checked

NOTE: For some of the reported defects, checkpatch may be able to
      mechanically convert to the typical style using --fix or --fix-inplace.

/github/workspace/src/patch/14674248.patch has style problems, please review.

NOTE: Ignored message types: UNKNOWN_COMMIT_ID

NOTE: If any of the errors are false positives, please report
      them to the maintainer, see CHECKPATCH in MAINTAINERS.


##############################
Test: CheckKernelLLVM - SKIP
Desc: Build kernel with LLVM + context analysis
Output:
Clang not found
##############################
Test: TestRunner_mgmt-tester - FAIL
Desc: Run mgmt-tester with test-runner
Output:
Total: 494, Passed: 489 (99.0%), Failed: 1, Not Run: 4

Failed Test Cases
Read Exp Feature - Success                           Failed       0.250 seconds
##############################
Test: TestRunner_mesh-tester - FAIL
Desc: Run mesh-tester with test-runner
Output:
Total: 10, Passed: 8 (80.0%), Failed: 2, Not Run: 0

Failed Test Cases
Mesh - Send cancel - 1                               Timed out    2.200 seconds
Mesh - Send cancel - 2                               Timed out    1.987 seconds


https://github.com/bluez/bluetooth-next/pull/414

---
Regards,
Linux Bluetooth


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 6/6] Bluetooth: btusb: Build the driver from multiple source files
  2026-07-09  6:15 ` [PATCH 6/6] Bluetooth: btusb: Build the driver from multiple source files Zijun Hu
@ 2026-07-09 13:40   ` Luiz Augusto von Dentz
  0 siblings, 0 replies; 10+ messages in thread
From: Luiz Augusto von Dentz @ 2026-07-09 13:40 UTC (permalink / raw)
  To: Zijun Hu; +Cc: Marcel Holtmann, Zijun Hu, linux-bluetooth, linux-kernel

Hi Zijun,

On Thu, Jul 9, 2026 at 2:15 AM Zijun Hu <zijun.hu@oss.qualcomm.com> wrote:
>
> Allow the driver to include vendor-specific source files by:
> - renaming btusb.c to btusb_main.c
> - making btusb.o a composite object

There is already support for including vendor-specific code, see btintel.c.

> No functional change.
>
> Signed-off-by: Zijun Hu <zijun.hu@oss.qualcomm.com>
> ---
>  drivers/bluetooth/Makefile                  | 2 ++
>  drivers/bluetooth/{btusb.c => btusb_main.c} | 0
>  2 files changed, 2 insertions(+)
>
> diff --git a/drivers/bluetooth/Makefile b/drivers/bluetooth/Makefile
> index e6b1c1180d1d..8b436c6de8b7 100644
> --- a/drivers/bluetooth/Makefile
> +++ b/drivers/bluetooth/Makefile
> @@ -51,4 +51,6 @@ hci_uart-$(CONFIG_BT_HCIUART_MRVL)    += hci_mrvl.o
>  hci_uart-$(CONFIG_BT_HCIUART_AML)      += hci_aml.o
>  hci_uart-objs                          := $(hci_uart-y)
>
> +btusb-y                                := btusb_main.o
> +
>  CONTEXT_ANALYSIS := y
> diff --git a/drivers/bluetooth/btusb.c b/drivers/bluetooth/btusb_main.c
> similarity index 100%
> rename from drivers/bluetooth/btusb.c
> rename to drivers/bluetooth/btusb_main.c
>
> --
> 2.34.1
>


-- 
Luiz Augusto von Dentz

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 0/6] Bluetooth: btusb: Preparation for upcoming Qualcomm QCC2072 support
  2026-07-09  6:14 [PATCH 0/6] Bluetooth: btusb: Preparation for upcoming Qualcomm QCC2072 support Zijun Hu
                   ` (5 preceding siblings ...)
  2026-07-09  6:15 ` [PATCH 6/6] Bluetooth: btusb: Build the driver from multiple source files Zijun Hu
@ 2026-07-09 13:46 ` Luiz Augusto von Dentz
  6 siblings, 0 replies; 10+ messages in thread
From: Luiz Augusto von Dentz @ 2026-07-09 13:46 UTC (permalink / raw)
  To: Zijun Hu; +Cc: Marcel Holtmann, Zijun Hu, linux-bluetooth, linux-kernel

Hi Zijun,

On Thu, Jul 9, 2026 at 2:15 AM Zijun Hu <zijun.hu@oss.qualcomm.com> wrote:
>
> This series collects the btusb and devcoredump changes required by the
> upcoming Qualcomm QCC2072 Bluetooth driver. None of them are QCC2072-
> specific: they refactor btusb into a shape that can host vendor-specific
> source files, and make a few coredump helpers reusable.

I really this not a 'lets redesign btusb because our driver is not
standard Bluetooth Class' kind of thing, we already have hdev->setup
and other callbacks for vendor specific functionality, if you want
more than that perhaps it needs to be become it own driver.

> Posting them as a standalone series because the QCC2072 driver itself is
> larger and will take longer to review. These prerequisites are small and
> self-contained, so they can hopefully be reviewed and merged on their own
> in the meantime.
>
> The series contains:
>  - coredump: a readable state-name helper and a fixed-size dump header,
>    both reused by the vendor driver
>  - btusb: an indirect recv_intr() hook, hci_dev-based recv wrappers, a
>    shared reset-prepare helper, and a split into btusb_main.c so vendor
>    files can be added later
>
> No functional change intended.
>
> Signed-off-by: Zijun Hu <zijun.hu@oss.qualcomm.com>
> ---
> Zijun Hu (6):
>       Bluetooth: coredump: Introduce and apply hci_devcd_state_name()
>       Bluetooth: coredump: Allow drivers to pad dump header to fixed size
>       Bluetooth: btusb: Add an indirect recv_intr() hook to btusb_data
>       Bluetooth: btusb: Add wrappers btusb_recv_{event,acl}_hdev()
>       Bluetooth: btusb: Add a simple static btusb_prepare_reset()
>       Bluetooth: btusb: Build the driver from multiple source files
>
>  drivers/bluetooth/Makefile                  |  2 ++
>  drivers/bluetooth/{btusb.c => btusb_main.c} | 33 ++++++++++++++++++++++---
>  include/net/bluetooth/coredump.h            | 11 +++++++++
>  net/bluetooth/coredump.c                    | 38 ++++++++++++++++++++---------
>  4 files changed, 68 insertions(+), 16 deletions(-)
> ---
> base-commit: ca75417ab1793f23b3ddc91869f0809b593d6954
> change-id: 20260708-btusb_prep_qcc2072-23604a4e81d1
>
> Best regards,
> --
> Zijun Hu <zijun.hu@oss.qualcomm.com>
>


-- 
Luiz Augusto von Dentz

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2026-07-09 13:46 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-07-09  6:14 [PATCH 0/6] Bluetooth: btusb: Preparation for upcoming Qualcomm QCC2072 support Zijun Hu
2026-07-09  6:14 ` [PATCH 1/6] Bluetooth: coredump: Introduce and apply hci_devcd_state_name() Zijun Hu
2026-07-09  9:29   ` Bluetooth: btusb: Preparation for upcoming Qualcomm QCC2072 support bluez.test.bot
2026-07-09  6:14 ` [PATCH 2/6] Bluetooth: coredump: Allow drivers to pad dump header to fixed size Zijun Hu
2026-07-09  6:15 ` [PATCH 3/6] Bluetooth: btusb: Add an indirect recv_intr() hook to btusb_data Zijun Hu
2026-07-09  6:15 ` [PATCH 4/6] Bluetooth: btusb: Add wrappers btusb_recv_{event,acl}_hdev() Zijun Hu
2026-07-09  6:15 ` [PATCH 5/6] Bluetooth: btusb: Add a simple static btusb_prepare_reset() Zijun Hu
2026-07-09  6:15 ` [PATCH 6/6] Bluetooth: btusb: Build the driver from multiple source files Zijun Hu
2026-07-09 13:40   ` Luiz Augusto von Dentz
2026-07-09 13:46 ` [PATCH 0/6] Bluetooth: btusb: Preparation for upcoming Qualcomm QCC2072 support Luiz Augusto von Dentz

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox