* RE: Bluetooth: mediatek: add gpio pin to reset bt
2025-06-23 10:23 [PATCH v4 1/1] " Zhangchao Zhang
@ 2025-06-23 11:06 ` bluez.test.bot
0 siblings, 0 replies; 9+ messages in thread
From: bluez.test.bot @ 2025-06-23 11:06 UTC (permalink / raw)
To: linux-bluetooth, ot_zhangchao.zhang
[-- Attachment #1: Type: text/plain, Size: 2030 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=974767
---Test result---
Test Summary:
CheckPatch PENDING 0.26 seconds
GitLint PENDING 0.22 seconds
SubjectPrefix PASS 0.12 seconds
BuildKernel PASS 25.10 seconds
CheckAllWarning PASS 27.13 seconds
CheckSparse PASS 30.74 seconds
BuildKernel32 PASS 24.40 seconds
TestRunnerSetup PASS 477.26 seconds
TestRunner_l2cap-tester PASS 25.48 seconds
TestRunner_iso-tester PASS 73.24 seconds
TestRunner_bnep-tester PASS 5.93 seconds
TestRunner_mgmt-tester FAIL 135.13 seconds
TestRunner_rfcomm-tester PASS 9.34 seconds
TestRunner_sco-tester PASS 14.72 seconds
TestRunner_ioctl-tester PASS 10.00 seconds
TestRunner_mesh-tester PASS 7.43 seconds
TestRunner_smp-tester PASS 8.60 seconds
TestRunner_userchan-tester PASS 6.21 seconds
IncrementalBuild PENDING 0.83 seconds
Details
##############################
Test: CheckPatch - PENDING
Desc: Run checkpatch.pl script
Output:
##############################
Test: GitLint - PENDING
Desc: Run gitlint
Output:
##############################
Test: TestRunner_mgmt-tester - FAIL
Desc: Run mgmt-tester with test-runner
Output:
Total: 490, Passed: 484 (98.8%), Failed: 2, Not Run: 4
Failed Test Cases
LL Privacy - Set Flags 3 (2 Devices to RL) Failed 0.205 seconds
LL Privacy - Set Device Flag 1 (Device Privacy) Failed 0.171 seconds
##############################
Test: IncrementalBuild - PENDING
Desc: Incremental build with the patches in the series
Output:
---
Regards,
Linux Bluetooth
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH v5 0/2] Bluetooth: mediatek: add gpio pin to reset bt
@ 2025-06-27 5:59 Zhangchao Zhang
2025-06-27 5:59 ` [PATCH v5 1/2] " Zhangchao Zhang
` (2 more replies)
0 siblings, 3 replies; 9+ messages in thread
From: Zhangchao Zhang @ 2025-06-27 5:59 UTC (permalink / raw)
To: Marcel Holtmann, Matthias Brugger, Luiz Von Dentz,
AngeloGioacchino Del Regno, Rob Herring, Krzysztof Kozlowski,
Conor Dooley
Cc: Sean Wang, Jiande Lu, Deren Wu, Chris Lu, Hao Qin,
linux-bluetooth, linux-kernel, linux-arm-kernel, linux-mediatek,
devicetree, Zhangchao Zhang
The enhanced BT reset feature builds upon the previous software-based
BT reset by adding support for hardware pin resets.
To maintain compatibility with existing projects that
still use the software BT reset, both methods are supported.
When performing a BT reset, the system first checks whether the
Device Tree Source (DTS) is configured with the appropriate settings.
If the specified compatible and BT reset GPIO are defined in the DTS,
the system will pull the designated GPIO pin low for at least 200ms,
then pull it high to trigger the BT reset. If these settings are not
configured, the system will fall back to the original software
BT reset methods.
Compared with the previously submitted version, the following
information are some specific revision histories
V4-->V5 modifications:
-Modify the comments mentioned in v1.
-Modify dt_binding files and
make dt binding a separate patch.
V3-->V4 modifications:
Modify dt binding format information and
the explanation text in the patch
V2-->V3 modifications:
-Changed the capitalization of co-developer names,
using the correct capitalization of abbreviations and full
name, and corrected obvious spelling errors.
-Add a revision history.
-Remove the "BT Driver" in the prefix.
-Add the bt-binding document, include inforamtion related to reset
pin and compatibility matching.
-Add a comment before the schedule_delayed_work function call,
although schedule_delayed_work is asynchronous, there is no risk.
Even if it is not completed within 200ms, it will only postpone
the subsequent probe and will not have any impact.
-Add a comment before the btmtk_reset_by_gpio function call,
if the compatibility filed or pin cannot be found in the dts
files, it can still reset bluetooth using software reset.
V2 modifications:
Modify gpio to GPIO, SW to software,
and fix other obvious spelling errors.
--
2.46.0
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH v5 1/2] Bluetooth: mediatek: add gpio pin to reset bt
2025-06-27 5:59 [PATCH v5 0/2] Bluetooth: mediatek: add gpio pin to reset bt Zhangchao Zhang
@ 2025-06-27 5:59 ` Zhangchao Zhang
2025-06-27 6:42 ` bluez.test.bot
2025-06-27 5:59 ` [PATCH v5 2/2] dt-bindings: net: mediatek,mt7925-bluetooth.yaml Zhangchao Zhang
2025-06-28 12:03 ` [PATCH v5 0/2] Bluetooth: mediatek: add gpio pin to reset bt Krzysztof Kozlowski
2 siblings, 1 reply; 9+ messages in thread
From: Zhangchao Zhang @ 2025-06-27 5:59 UTC (permalink / raw)
To: Marcel Holtmann, Matthias Brugger, Luiz Von Dentz,
AngeloGioacchino Del Regno, Rob Herring, Krzysztof Kozlowski,
Conor Dooley
Cc: Sean Wang, Jiande Lu, Deren Wu, Chris Lu, Hao Qin,
linux-bluetooth, linux-kernel, linux-arm-kernel, linux-mediatek,
devicetree, Zhangchao Zhang
Makes the platform Bluetooth to be reset by hardware pin,
it provides two methods to do it for mediatek controller,
and it has been tested locally many times and can reset normally.
When an exception occurs, resetting Bluetooth by hardware pin
is more stable than resetting Bluetooth by software.
If the corresponding pin is not found in dts,
bluetooth can also be reset successfully.
Co-developed: Hao Qin <hao.qin@mediatek.com>
Co-developed: Chris Lu <chris.lu@mediatek.com>
Co-developed: Jiande Lu <jiande.lu@mediatek.com>
Signed-off-by: Zhangchao Zhang <ot_zhangchao.zhang@mediatek.com>
---
drivers/bluetooth/btmtk.c | 69 +++++++++++++++++++++++++++++++++++++++
drivers/bluetooth/btmtk.h | 5 +++
2 files changed, 74 insertions(+)
diff --git a/drivers/bluetooth/btmtk.c b/drivers/bluetooth/btmtk.c
index 4390fd571dbd..4f677f86af1e 100644
--- a/drivers/bluetooth/btmtk.c
+++ b/drivers/bluetooth/btmtk.c
@@ -6,6 +6,8 @@
#include <linux/firmware.h>
#include <linux/usb.h>
#include <linux/iopoll.h>
+#include <linux/of.h>
+#include <linux/of_gpio.h>
#include <linux/unaligned.h>
#include <net/bluetooth/bluetooth.h>
@@ -109,6 +111,65 @@ static void btmtk_coredump_notify(struct hci_dev *hdev, int state)
}
}
+static void btmtk_reset_by_gpio_work(struct work_struct *work)
+{
+ struct btmtk_reset_gpio *reset_gpio_data =
+ container_of(work, struct btmtk_reset_gpio, reset_work.work);
+
+ gpio_direction_output(reset_gpio_data->gpio_number, 1);
+ kfree(reset_gpio_data);
+}
+
+static int btmtk_reset_by_gpio(struct hci_dev *hdev)
+{
+ struct btmtk_data *data = hci_get_priv(hdev);
+ struct btmtk_reset_gpio *reset_gpio_data;
+ struct device_node *node;
+ int reset_gpio_number;
+
+ node = of_find_compatible_node(NULL, NULL, "mediatek,usb-bluetooth");
+ if (node) {
+ reset_gpio_number = of_get_named_gpio(node, "reset-gpios", 0);
+ if (!gpio_is_valid(reset_gpio_number)) {
+ bt_dev_warn(hdev, "invalid reset GPIO, use software reset");
+ return -EINVAL;
+ }
+ } else {
+ bt_dev_warn(hdev, "no reset GPIO, use software reset");
+ return -ENODEV;
+ }
+
+ /* Toggle the hard reset line. The Mediatek device is going to
+ * yank itself off the USB and then replug. The cleanup is handled
+ * correctly on the way out (standard USB disconnect), and the new
+ * device is detected cleanly and bound to the driver again like
+ * it should be.
+ */
+
+ if (test_and_set_bit(BTMTK_HW_RESET_ACTIVE, &data->flags)) {
+ bt_dev_err(hdev, "last reset failed? Not resetting again");
+ return 0;
+ }
+
+ reset_gpio_data = kzalloc(sizeof(*reset_gpio_data), GFP_KERNEL);
+ if (!reset_gpio_data)
+ return -ENOMEM;
+
+ INIT_DELAYED_WORK(&reset_gpio_data->reset_work, btmtk_reset_by_gpio_work);
+ reset_gpio_data->gpio_number = reset_gpio_number;
+
+ gpio_direction_output(reset_gpio_number, 0);
+
+ /* It requires 200ms for mtk bt chip to do reset,
+ * although Schedule_delayed_work is asynchronous,
+ * it is risk-free. If it is not completed in 200ms,
+ * it will only postpone the next probe, which will
+ * only make the probe run later. There is no other risk.
+ */
+ schedule_delayed_work(&reset_gpio_data->reset_work, msecs_to_jiffies(200));
+ return 0;
+}
+
void btmtk_fw_get_filename(char *buf, size_t size, u32 dev_id, u32 fw_ver,
u32 fw_flavor)
{
@@ -364,6 +425,14 @@ void btmtk_reset_sync(struct hci_dev *hdev)
struct btmtk_data *reset_work = hci_get_priv(hdev);
int err;
+ /* Toggle reset gpio if the platform provides one,
+ * if the compatibility field or pin cannot be found
+ * in the dts files, it can still reset bluetooth using
+ * software reset.
+ */
+ err = btmtk_reset_by_gpio(hdev);
+ if (!err)
+ return;
hci_dev_lock(hdev);
err = hci_cmd_sync_queue(hdev, reset_work->reset_sync, NULL, NULL);
diff --git a/drivers/bluetooth/btmtk.h b/drivers/bluetooth/btmtk.h
index 5df7c3296624..8a265ce367d1 100644
--- a/drivers/bluetooth/btmtk.h
+++ b/drivers/bluetooth/btmtk.h
@@ -179,6 +179,11 @@ struct btmtk_data {
spinlock_t isorxlock;
};
+struct btmtk_reset_gpio {
+ struct delayed_work reset_work;
+ int gpio_number;
+};
+
typedef int (*wmt_cmd_sync_func_t)(struct hci_dev *,
struct btmtk_hci_wmt_params *);
--
2.46.0
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [PATCH v5 2/2] dt-bindings: net: mediatek,mt7925-bluetooth.yaml
2025-06-27 5:59 [PATCH v5 0/2] Bluetooth: mediatek: add gpio pin to reset bt Zhangchao Zhang
2025-06-27 5:59 ` [PATCH v5 1/2] " Zhangchao Zhang
@ 2025-06-27 5:59 ` Zhangchao Zhang
2025-06-28 12:03 ` Krzysztof Kozlowski
2025-06-28 12:03 ` [PATCH v5 0/2] Bluetooth: mediatek: add gpio pin to reset bt Krzysztof Kozlowski
2 siblings, 1 reply; 9+ messages in thread
From: Zhangchao Zhang @ 2025-06-27 5:59 UTC (permalink / raw)
To: Marcel Holtmann, Matthias Brugger, Luiz Von Dentz,
AngeloGioacchino Del Regno, Rob Herring, Krzysztof Kozlowski,
Conor Dooley
Cc: Sean Wang, Jiande Lu, Deren Wu, Chris Lu, Hao Qin,
linux-bluetooth, linux-kernel, linux-arm-kernel, linux-mediatek,
devicetree, Zhangchao Zhang
Add hardware pins and compatible strings.
As a binding file for the MTK Bluetooth driver code,
it provides a set of compatible fields and hardware
pins for the driver to use.
Signed-off-by: Zhangchao Zhang <ot_zhangchao.zhang@mediatek.com>
---
.../bluetooth/mediatek,mt7925-bluetooth.yaml | 57 +++++++++++++++++++
MAINTAINERS | 1 +
2 files changed, 58 insertions(+)
create mode 100644 Documentation/devicetree/bindings/net/bluetooth/mediatek,mt7925-bluetooth.yaml
diff --git a/Documentation/devicetree/bindings/net/bluetooth/mediatek,mt7925-bluetooth.yaml b/Documentation/devicetree/bindings/net/bluetooth/mediatek,mt7925-bluetooth.yaml
new file mode 100644
index 000000000000..230c24ada3b4
--- /dev/null
+++ b/Documentation/devicetree/bindings/net/bluetooth/mediatek,mt7925-bluetooth.yaml
@@ -0,0 +1,57 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/net/bluetooth/mediatek,mt7925-bluetooth.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Bluetooth mediatek add gpio pin to reset bt
+
+maintainers:
+ - Sean Wang <sean.wang@mediatek.com>
+
+description:
+ 7925 uses the USB bus to communicate with the host.
+ Two methods are used to reset Bluetooth.
+ Provide hardware pin, when an exception occurs,
+ resetting Bluetooth by hardware pin is more stable
+ than resetting Bluetooth by software.
+ If the corresponding pin is not found in dts,
+ bluetooth can also be reset successfully.
+
+allOf:
+ - $ref: bluetooth-controller.yaml#
+
+properties:
+ compatible:
+ enum:
+ - mediatek,usb-bluetooth
+
+ gpio-controller:
+ description:
+ Marks the device node as s GPIO controller.
+
+ "#gpio-cells":
+ const: 2
+
+ reset-gpios:
+ maxItems: 1
+
+ description:
+ An active-high reset pin for the Bluetooth core; on typical M.2
+ key E modules this is the W_DISABLE2# pin.
+
+required:
+ - compatible
+ - "#gpio-cells"
+ - reset-gpios
+
+unevaluatedProperties: false
+examples:
+ - |
+ #include <dt-bindings/gpio/gpio.h>
+
+ bluetooth {
+ compatible = "mediatek,usb-bluetooth";
+ #gpio-cells = <2>;
+ reset-gpios = <&pio 248 GPIO_ACTIVE_HIGH>;
+ };
diff --git a/MAINTAINERS b/MAINTAINERS
index 5959513a7359..d104a5821f20 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -14676,6 +14676,7 @@ L: linux-mediatek@lists.infradead.org (moderated for non-subscribers)
S: Maintained
F: Documentation/devicetree/bindings/net/bluetooth/mediatek,bluetooth.txt
F: Documentation/devicetree/bindings/net/bluetooth/mediatek,mt7921s-bluetooth.yaml
+F: Documentation/devicetree/bindings/net/bluetooth/mediatek,mt7925-bluetooth.yaml
F: drivers/bluetooth/btmtkuart.c
MEDIATEK BOARD LEVEL SHUTDOWN DRIVERS
--
2.46.0
^ permalink raw reply related [flat|nested] 9+ messages in thread
* RE: Bluetooth: mediatek: add gpio pin to reset bt
2025-06-27 5:59 ` [PATCH v5 1/2] " Zhangchao Zhang
@ 2025-06-27 6:42 ` bluez.test.bot
0 siblings, 0 replies; 9+ messages in thread
From: bluez.test.bot @ 2025-06-27 6:42 UTC (permalink / raw)
To: linux-bluetooth, ot_zhangchao.zhang
[-- Attachment #1: Type: text/plain, Size: 2463 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=976464
---Test result---
Test Summary:
CheckPatch PENDING 0.33 seconds
GitLint PENDING 0.20 seconds
SubjectPrefix FAIL 0.39 seconds
BuildKernel PASS 24.36 seconds
CheckAllWarning PASS 26.65 seconds
CheckSparse PASS 30.16 seconds
BuildKernel32 PASS 24.13 seconds
TestRunnerSetup PASS 472.21 seconds
TestRunner_l2cap-tester PASS 25.23 seconds
TestRunner_iso-tester PASS 39.91 seconds
TestRunner_bnep-tester PASS 6.01 seconds
TestRunner_mgmt-tester FAIL 135.17 seconds
TestRunner_rfcomm-tester PASS 9.46 seconds
TestRunner_sco-tester PASS 15.03 seconds
TestRunner_ioctl-tester PASS 10.25 seconds
TestRunner_mesh-tester FAIL 11.47 seconds
TestRunner_smp-tester PASS 8.68 seconds
TestRunner_userchan-tester PASS 6.28 seconds
IncrementalBuild PENDING 0.78 seconds
Details
##############################
Test: CheckPatch - PENDING
Desc: Run checkpatch.pl script
Output:
##############################
Test: GitLint - PENDING
Desc: Run gitlint
Output:
##############################
Test: SubjectPrefix - FAIL
Desc: Check subject contains "Bluetooth" prefix
Output:
"Bluetooth: " prefix is not specified in the subject
##############################
Test: TestRunner_mgmt-tester - FAIL
Desc: Run mgmt-tester with test-runner
Output:
Total: 490, Passed: 485 (99.0%), Failed: 1, Not Run: 4
Failed Test Cases
LL Privacy - Add Device 3 (AL is full) Failed 0.215 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.050 seconds
Mesh - Send cancel - 2 Timed out 1.999 seconds
##############################
Test: IncrementalBuild - PENDING
Desc: Incremental build with the patches in the series
Output:
---
Regards,
Linux Bluetooth
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v5 0/2] Bluetooth: mediatek: add gpio pin to reset bt
2025-06-27 5:59 [PATCH v5 0/2] Bluetooth: mediatek: add gpio pin to reset bt Zhangchao Zhang
2025-06-27 5:59 ` [PATCH v5 1/2] " Zhangchao Zhang
2025-06-27 5:59 ` [PATCH v5 2/2] dt-bindings: net: mediatek,mt7925-bluetooth.yaml Zhangchao Zhang
@ 2025-06-28 12:03 ` Krzysztof Kozlowski
2 siblings, 0 replies; 9+ messages in thread
From: Krzysztof Kozlowski @ 2025-06-28 12:03 UTC (permalink / raw)
To: Zhangchao Zhang
Cc: Marcel Holtmann, Matthias Brugger, Luiz Von Dentz,
AngeloGioacchino Del Regno, Rob Herring, Conor Dooley, Sean Wang,
Jiande Lu, Deren Wu, Chris Lu, Hao Qin, linux-bluetooth,
linux-kernel, linux-arm-kernel, linux-mediatek, devicetree
On Fri, Jun 27, 2025 at 01:59:22PM +0800, Zhangchao Zhang wrote:
> The enhanced BT reset feature builds upon the previous software-based
> BT reset by adding support for hardware pin resets.
> To maintain compatibility with existing projects that
> still use the software BT reset, both methods are supported.
>
> When performing a BT reset, the system first checks whether the
> Device Tree Source (DTS) is configured with the appropriate settings.
> If the specified compatible and BT reset GPIO are defined in the DTS,
> the system will pull the designated GPIO pin low for at least 200ms,
> then pull it high to trigger the BT reset. If these settings are not
> configured, the system will fall back to the original software
> BT reset methods.
>
> Compared with the previously submitted version, the following
> information are some specific revision histories
>
> V4-->V5 modifications:
> -Modify the comments mentioned in v1.
What? This is so vague, means nothing.
> -Modify dt_binding files and
> make dt binding a separate patch.
This means nothing. Everything is "modify". Your changelog is terribly
uninforming. This must be detailed.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v5 2/2] dt-bindings: net: mediatek,mt7925-bluetooth.yaml
2025-06-27 5:59 ` [PATCH v5 2/2] dt-bindings: net: mediatek,mt7925-bluetooth.yaml Zhangchao Zhang
@ 2025-06-28 12:03 ` Krzysztof Kozlowski
0 siblings, 0 replies; 9+ messages in thread
From: Krzysztof Kozlowski @ 2025-06-28 12:03 UTC (permalink / raw)
To: Zhangchao Zhang
Cc: Marcel Holtmann, Matthias Brugger, Luiz Von Dentz,
AngeloGioacchino Del Regno, Rob Herring, Conor Dooley, Sean Wang,
Jiande Lu, Deren Wu, Chris Lu, Hao Qin, linux-bluetooth,
linux-kernel, linux-arm-kernel, linux-mediatek, devicetree
How did you manage to make mistake in my email is beyond my understand.
Tools should generate address list, not humans.
Where is the changelog?
On Fri, Jun 27, 2025 at 01:59:24PM +0800, Zhangchao Zhang wrote:
> Add hardware pins and compatible strings.
I don't see any pins here.
> As a binding file for the MTK Bluetooth driver code,
> it provides a set of compatible fields and hardware
> pins for the driver to use.
All this is not relevant. Describe the hardware here.
>
> Signed-off-by: Zhangchao Zhang <ot_zhangchao.zhang@mediatek.com>
> ---
> .../bluetooth/mediatek,mt7925-bluetooth.yaml | 57 +++++++++++++++++++
> MAINTAINERS | 1 +
> 2 files changed, 58 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/net/bluetooth/mediatek,mt7925-bluetooth.yaml
>
> diff --git a/Documentation/devicetree/bindings/net/bluetooth/mediatek,mt7925-bluetooth.yaml b/Documentation/devicetree/bindings/net/bluetooth/mediatek,mt7925-bluetooth.yaml
> new file mode 100644
> index 000000000000..230c24ada3b4
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/net/bluetooth/mediatek,mt7925-bluetooth.yaml
> @@ -0,0 +1,57 @@
> +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/net/bluetooth/mediatek,mt7925-bluetooth.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Bluetooth mediatek add gpio pin to reset bt
Not relevant. This is the title describing this specific hardware.
> +
> +maintainers:
> + - Sean Wang <sean.wang@mediatek.com>
> +
> +description:
> + 7925 uses the USB bus to communicate with the host.
Waht is 7925?
> + Two methods are used to reset Bluetooth.
> + Provide hardware pin, when an exception occurs,
> + resetting Bluetooth by hardware pin is more stable
> + than resetting Bluetooth by software.
> + If the corresponding pin is not found in dts,
> + bluetooth can also be reset successfully.
Wrap this properly. The same commit msg.
> +
> +allOf:
> + - $ref: bluetooth-controller.yaml#
> +
> +properties:
> + compatible:
> + enum:
> + - mediatek,usb-bluetooth
NAK, you cannot have such compatible. I already said at v1 or v2 that it
will be rejected!
Why are you pushing this all the time, without reading the feedback?
You need SoC and device specific compatibles. There is no such hardware
as "usb-bluetooth". If there is, point me to datasheet for it.
> +
> + gpio-controller:
> + description:
> + Marks the device node as s GPIO controller.
Irrelevant. Drop. See other schemas.
> +
> + "#gpio-cells":
> + const: 2
> +
> + reset-gpios:
> + maxItems: 1
> +
Drop blank line. Look how other files are doing this.
> + description:
> + An active-high reset pin for the Bluetooth core; on typical M.2
active-high? Really? I have doubts.
> + key E modules this is the W_DISABLE2# pin.
> +
> +required:
> + - compatible
> + - "#gpio-cells"
> + - reset-gpios
> +
> +unevaluatedProperties: false
This is random style. Why doing something completely different than
every other file? Missing blank line.
> +examples:
> + - |
> + #include <dt-bindings/gpio/gpio.h>
> +
> + bluetooth {
Messed indentation.
To summarize:
Except writing something entirely different than every other binding
(why?), this does not represent hardware. Your commit msg explains ZERO
about the hardware. Binding description says nothing and is actually not
correct.
So again, if you send the same it will be rejected.
I expect answers UNDER EACH OF MY COMMENTS, because you keep ignoring
entire feedback given to you.
Best regards,
Krzysztof
^ permalink raw reply [flat|nested] 9+ messages in thread
* RE: Bluetooth: mediatek: add gpio pin to reset bt
2025-07-08 6:01 [PATCH v6 1/1] " Zhangchao Zhang
@ 2025-07-08 6:42 ` bluez.test.bot
0 siblings, 0 replies; 9+ messages in thread
From: bluez.test.bot @ 2025-07-08 6:42 UTC (permalink / raw)
To: linux-bluetooth, ot_zhangchao.zhang
[-- Attachment #1: Type: text/plain, Size: 2296 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=979887
---Test result---
Test Summary:
CheckPatch PENDING 0.26 seconds
GitLint PENDING 0.28 seconds
SubjectPrefix PASS 0.13 seconds
BuildKernel PASS 23.87 seconds
CheckAllWarning PASS 27.16 seconds
CheckSparse PASS 29.90 seconds
BuildKernel32 PASS 24.20 seconds
TestRunnerSetup PASS 468.14 seconds
TestRunner_l2cap-tester PASS 25.25 seconds
TestRunner_iso-tester PASS 40.37 seconds
TestRunner_bnep-tester PASS 5.98 seconds
TestRunner_mgmt-tester FAIL 131.94 seconds
TestRunner_rfcomm-tester PASS 9.26 seconds
TestRunner_sco-tester PASS 14.84 seconds
TestRunner_ioctl-tester PASS 10.06 seconds
TestRunner_mesh-tester FAIL 11.41 seconds
TestRunner_smp-tester PASS 8.43 seconds
TestRunner_userchan-tester PASS 6.17 seconds
IncrementalBuild PENDING 0.70 seconds
Details
##############################
Test: CheckPatch - PENDING
Desc: Run checkpatch.pl script
Output:
##############################
Test: GitLint - PENDING
Desc: Run gitlint
Output:
##############################
Test: TestRunner_mgmt-tester - FAIL
Desc: Run mgmt-tester with test-runner
Output:
Total: 490, Passed: 485 (99.0%), Failed: 1, Not Run: 4
Failed Test Cases
LL Privacy - Set Flags 3 (2 Devices to RL) Failed 0.196 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.069 seconds
Mesh - Send cancel - 2 Timed out 2.001 seconds
##############################
Test: IncrementalBuild - PENDING
Desc: Incremental build with the patches in the series
Output:
---
Regards,
Linux Bluetooth
^ permalink raw reply [flat|nested] 9+ messages in thread
* RE: Bluetooth: mediatek: add gpio pin to reset bt
2025-09-05 8:40 [PATCH v7 1/1] " Zhangchao Zhang
@ 2025-09-05 8:59 ` bluez.test.bot
0 siblings, 0 replies; 9+ messages in thread
From: bluez.test.bot @ 2025-09-05 8:59 UTC (permalink / raw)
To: linux-bluetooth, ot_zhangchao.zhang
[-- Attachment #1: Type: text/plain, Size: 14073 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=999222
---Test result---
Test Summary:
CheckPatch PENDING 0.34 seconds
GitLint PENDING 0.25 seconds
SubjectPrefix PASS 0.11 seconds
BuildKernel FAIL 24.23 seconds
CheckAllWarning FAIL 26.51 seconds
CheckSparse FAIL 29.95 seconds
BuildKernel32 FAIL 24.10 seconds
TestRunnerSetup FAIL 465.80 seconds
TestRunner_l2cap-tester FAIL 0.14 seconds
TestRunner_iso-tester FAIL 0.14 seconds
TestRunner_bnep-tester FAIL 0.14 seconds
TestRunner_mgmt-tester FAIL 0.14 seconds
TestRunner_rfcomm-tester FAIL 0.14 seconds
TestRunner_sco-tester FAIL 0.14 seconds
TestRunner_ioctl-tester FAIL 0.14 seconds
TestRunner_mesh-tester FAIL 0.14 seconds
TestRunner_smp-tester FAIL 0.13 seconds
TestRunner_userchan-tester FAIL 0.14 seconds
IncrementalBuild PENDING 0.52 seconds
Details
##############################
Test: CheckPatch - PENDING
Desc: Run checkpatch.pl script
Output:
##############################
Test: GitLint - PENDING
Desc: Run gitlint
Output:
##############################
Test: BuildKernel - FAIL
Desc: Build Kernel for Bluetooth
Output:
drivers/bluetooth/btmtk.c: In function ‘btmtk_hw_gpio_reset’:
drivers/bluetooth/btmtk.c:370:43: error: passing argument 1 of ‘gpiod_get_optional’ from incompatible pointer type [-Werror=incompatible-pointer-types]
370 | reset_gpio = gpiod_get_optional(hdev->dev.of_node, "reset", GPIOD_OUT_HIGH);
| ~~~~~~~~~^~~~~~~~
| |
| struct device_node *
In file included from drivers/bluetooth/btmtk.c:9:
./include/linux/gpio/consumer.h:72:32: note: expected ‘struct device *’ but argument is of type ‘struct device_node *’
72 | struct gpio_desc *__must_check gpiod_get_optional(struct device *dev,
| ^~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
make[4]: *** [scripts/Makefile.build:287: drivers/bluetooth/btmtk.o] Error 1
make[3]: *** [scripts/Makefile.build:554: drivers/bluetooth] Error 2
make[2]: *** [scripts/Makefile.build:554: drivers] Error 2
make[1]: *** [/github/workspace/src/src/Makefile:2003: .] Error 2
make: *** [Makefile:248: __sub-make] Error 2
##############################
Test: CheckAllWarning - FAIL
Desc: Run linux kernel with all warning enabled
Output:
drivers/bluetooth/btmtk.c: In function ‘btmtk_hw_gpio_reset’:
drivers/bluetooth/btmtk.c:370:43: error: passing argument 1 of ‘gpiod_get_optional’ from incompatible pointer type [-Werror=incompatible-pointer-types]
370 | reset_gpio = gpiod_get_optional(hdev->dev.of_node, "reset", GPIOD_OUT_HIGH);
| ~~~~~~~~~^~~~~~~~
| |
| struct device_node *
In file included from drivers/bluetooth/btmtk.c:9:
./include/linux/gpio/consumer.h:72:32: note: expected ‘struct device *’ but argument is of type ‘struct device_node *’
72 | struct gpio_desc *__must_check gpiod_get_optional(struct device *dev,
| ^~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
make[4]: *** [scripts/Makefile.build:287: drivers/bluetooth/btmtk.o] Error 1
make[4]: *** Waiting for unfinished jobs....
make[3]: *** [scripts/Makefile.build:554: drivers/bluetooth] Error 2
make[2]: *** [scripts/Makefile.build:554: drivers] Error 2
make[1]: *** [/github/workspace/src/src/Makefile:2003: .] Error 2
make: *** [Makefile:248: __sub-make] Error 2
##############################
Test: CheckSparse - FAIL
Desc: Run sparse tool with linux kernel
Output:
net/bluetooth/af_bluetooth.c:248:25: warning: context imbalance in 'bt_accept_enqueue' - different lock contexts for basic block
net/bluetooth/hci_core.c:85:9: warning: context imbalance in '__hci_dev_get' - different lock contexts for basic block
net/bluetooth/hci_core.c: note: in included file (through include/linux/notifier.h, include/linux/memory_hotplug.h, include/linux/mmzone.h, include/linux/gfp.h, include/linux/xarray.h, include/linux/radix-tree.h, ...):
./include/linux/srcu.h:400:9: warning: context imbalance in 'hci_dev_put_srcu' - unexpected unlock
net/bluetooth/hci_event.c: note: in included file (through include/net/bluetooth/hci_core.h):
./include/net/bluetooth/hci.h:2658:47: warning: array of flexible structures
./include/net/bluetooth/hci.h:2744:43: warning: array of flexible structures
drivers/bluetooth/hci_ag6xx.c:257:24: warning: restricted __le32 degrades to integer
drivers/bluetooth/hci_mrvl.c:170:23: warning: restricted __le16 degrades to integer
drivers/bluetooth/hci_mrvl.c:203:23: warning: restricted __le16 degrades to integer
net/bluetooth/hci_codec.c: note: in included file:
./include/net/bluetooth/hci_core.h:153:35: warning: array of flexible structures
net/bluetooth/sco.c: note: in included file:
./include/net/bluetooth/hci_core.h:153:35: warning: array of flexible structures
drivers/bluetooth/btmtk.c: In function ‘btmtk_hw_gpio_reset’:
drivers/bluetooth/btmtk.c:370:43: error: passing argument 1 of ‘gpiod_get_optional’ from incompatible pointer type [-Werror=incompatible-pointer-types]
370 | reset_gpio = gpiod_get_optional(hdev->dev.of_node, "reset", GPIOD_OUT_HIGH);
| ~~~~~~~~~^~~~~~~~
| |
| struct device_node *
In file included from drivers/bluetooth/btmtk.c:9:
./include/linux/gpio/consumer.h:72:32: note: expected ‘struct device *’ but argument is of type ‘struct device_node *’
72 | struct gpio_desc *__must_check gpiod_get_optional(struct device *dev,
| ^~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
make[4]: *** [scripts/Makefile.build:287: drivers/bluetooth/btmtk.o] Error 1
make[4]: *** Waiting for unfinished jobs....
drivers/bluetooth/hci_nokia.c:279:23: warning: incorrect type in assignment (different base types)
drivers/bluetooth/hci_nokia.c:279:23: expected unsigned short [usertype] baud
drivers/bluetooth/hci_nokia.c:279:23: got restricted __le16 [usertype]
drivers/bluetooth/hci_nokia.c:282:26: warning: incorrect type in assignment (different base types)
drivers/bluetooth/hci_nokia.c:282:26: expected unsigned short [usertype] sys_clk
drivers/bluetooth/hci_nokia.c:282:26: got restricted __le16 [usertype]
make[3]: *** [scripts/Makefile.build:554: drivers/bluetooth] Error 2
make[2]: *** [scripts/Makefile.build:554: drivers] Error 2
make[1]: *** [/github/workspace/src/src/Makefile:2003: .] Error 2
make: *** [Makefile:248: __sub-make] Error 2
##############################
Test: BuildKernel32 - FAIL
Desc: Build 32bit Kernel for Bluetooth
Output:
drivers/bluetooth/btmtk.c: In function ‘btmtk_hw_gpio_reset’:
drivers/bluetooth/btmtk.c:370:43: error: passing argument 1 of ‘gpiod_get_optional’ from incompatible pointer type [-Werror=incompatible-pointer-types]
370 | reset_gpio = gpiod_get_optional(hdev->dev.of_node, "reset", GPIOD_OUT_HIGH);
| ~~~~~~~~~^~~~~~~~
| |
| struct device_node *
In file included from drivers/bluetooth/btmtk.c:9:
./include/linux/gpio/consumer.h:72:32: note: expected ‘struct device *’ but argument is of type ‘struct device_node *’
72 | struct gpio_desc *__must_check gpiod_get_optional(struct device *dev,
| ^~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
make[4]: *** [scripts/Makefile.build:287: drivers/bluetooth/btmtk.o] Error 1
make[3]: *** [scripts/Makefile.build:554: drivers/bluetooth] Error 2
make[2]: *** [scripts/Makefile.build:554: drivers] Error 2
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [/github/workspace/src/src/Makefile:2003: .] Error 2
make: *** [Makefile:248: __sub-make] Error 2
##############################
Test: TestRunnerSetup - FAIL
Desc: Setup kernel and bluez for test-runner
Output:
Kernel:
drivers/bluetooth/btmtk.c: In function ‘btmtk_hw_gpio_reset’:
drivers/bluetooth/btmtk.c:370:43: error: passing argument 1 of ‘gpiod_get_optional’ from incompatible pointer type [-Werror=incompatible-pointer-types]
370 | reset_gpio = gpiod_get_optional(hdev->dev.of_node, "reset", GPIOD_OUT_HIGH);
| ~~~~~~~~~^~~~~~~~
| |
| struct device_node *
In file included from drivers/bluetooth/btmtk.c:9:
./include/linux/gpio/consumer.h:212:35: note: expected ‘struct device *’ but argument is of type ‘struct device_node *’
212 | gpiod_get_optional(struct device *dev, const char *con_id,
| ~~~~~~~~~~~~~~~^~~
cc1: some warnings being treated as errors
make[4]: *** [scripts/Makefile.build:287: drivers/bluetooth/btmtk.o] Error 1
make[4]: *** Waiting for unfinished jobs....
make[3]: *** [scripts/Makefile.build:554: drivers/bluetooth] Error 2
make[2]: *** [scripts/Makefile.build:554: drivers] Error 2
make[1]: *** [/github/workspace/src/src/Makefile:2003: .] Error 2
make: *** [Makefile:248: __sub-make] Error 2
##############################
Test: TestRunner_l2cap-tester - FAIL
Desc: Run l2cap-tester with test-runner
Output:
Could not access KVM kernel module: No such file or directory
qemu-system-x86_64: failed to initialize KVM: No such file or directory
qemu-system-x86_64: Back to tcg accelerator
qemu: could not open kernel file '/github/workspace/src/src/arch/x86/boot/bzImage': No such file or directory
##############################
Test: TestRunner_iso-tester - FAIL
Desc: Run iso-tester with test-runner
Output:
Could not access KVM kernel module: No such file or directory
qemu-system-x86_64: failed to initialize KVM: No such file or directory
qemu-system-x86_64: Back to tcg accelerator
qemu: could not open kernel file '/github/workspace/src/src/arch/x86/boot/bzImage': No such file or directory
##############################
Test: TestRunner_bnep-tester - FAIL
Desc: Run bnep-tester with test-runner
Output:
Could not access KVM kernel module: No such file or directory
qemu-system-x86_64: failed to initialize KVM: No such file or directory
qemu-system-x86_64: Back to tcg accelerator
qemu: could not open kernel file '/github/workspace/src/src/arch/x86/boot/bzImage': No such file or directory
##############################
Test: TestRunner_mgmt-tester - FAIL
Desc: Run mgmt-tester with test-runner
Output:
Could not access KVM kernel module: No such file or directory
qemu-system-x86_64: failed to initialize KVM: No such file or directory
qemu-system-x86_64: Back to tcg accelerator
qemu: could not open kernel file '/github/workspace/src/src/arch/x86/boot/bzImage': No such file or directory
##############################
Test: TestRunner_rfcomm-tester - FAIL
Desc: Run rfcomm-tester with test-runner
Output:
Could not access KVM kernel module: No such file or directory
qemu-system-x86_64: failed to initialize KVM: No such file or directory
qemu-system-x86_64: Back to tcg accelerator
qemu: could not open kernel file '/github/workspace/src/src/arch/x86/boot/bzImage': No such file or directory
##############################
Test: TestRunner_sco-tester - FAIL
Desc: Run sco-tester with test-runner
Output:
Could not access KVM kernel module: No such file or directory
qemu-system-x86_64: failed to initialize KVM: No such file or directory
qemu-system-x86_64: Back to tcg accelerator
qemu: could not open kernel file '/github/workspace/src/src/arch/x86/boot/bzImage': No such file or directory
##############################
Test: TestRunner_ioctl-tester - FAIL
Desc: Run ioctl-tester with test-runner
Output:
Could not access KVM kernel module: No such file or directory
qemu-system-x86_64: failed to initialize KVM: No such file or directory
qemu-system-x86_64: Back to tcg accelerator
qemu: could not open kernel file '/github/workspace/src/src/arch/x86/boot/bzImage': No such file or directory
##############################
Test: TestRunner_mesh-tester - FAIL
Desc: Run mesh-tester with test-runner
Output:
Could not access KVM kernel module: No such file or directory
qemu-system-x86_64: failed to initialize KVM: No such file or directory
qemu-system-x86_64: Back to tcg accelerator
qemu: could not open kernel file '/github/workspace/src/src/arch/x86/boot/bzImage': No such file or directory
##############################
Test: TestRunner_smp-tester - FAIL
Desc: Run smp-tester with test-runner
Output:
Could not access KVM kernel module: No such file or directory
qemu-system-x86_64: failed to initialize KVM: No such file or directory
qemu-system-x86_64: Back to tcg accelerator
qemu: could not open kernel file '/github/workspace/src/src/arch/x86/boot/bzImage': No such file or directory
##############################
Test: TestRunner_userchan-tester - FAIL
Desc: Run userchan-tester with test-runner
Output:
Could not access KVM kernel module: No such file or directory
qemu-system-x86_64: failed to initialize KVM: No such file or directory
qemu-system-x86_64: Back to tcg accelerator
qemu: could not open kernel file '/github/workspace/src/src/arch/x86/boot/bzImage': No such file or directory
##############################
Test: IncrementalBuild - PENDING
Desc: Incremental build with the patches in the series
Output:
---
Regards,
Linux Bluetooth
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2025-09-05 8:59 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-06-27 5:59 [PATCH v5 0/2] Bluetooth: mediatek: add gpio pin to reset bt Zhangchao Zhang
2025-06-27 5:59 ` [PATCH v5 1/2] " Zhangchao Zhang
2025-06-27 6:42 ` bluez.test.bot
2025-06-27 5:59 ` [PATCH v5 2/2] dt-bindings: net: mediatek,mt7925-bluetooth.yaml Zhangchao Zhang
2025-06-28 12:03 ` Krzysztof Kozlowski
2025-06-28 12:03 ` [PATCH v5 0/2] Bluetooth: mediatek: add gpio pin to reset bt Krzysztof Kozlowski
-- strict thread matches above, loose matches on Subject: below --
2025-09-05 8:40 [PATCH v7 1/1] " Zhangchao Zhang
2025-09-05 8:59 ` bluez.test.bot
2025-07-08 6:01 [PATCH v6 1/1] " Zhangchao Zhang
2025-07-08 6:42 ` bluez.test.bot
2025-06-23 10:23 [PATCH v4 1/1] " Zhangchao Zhang
2025-06-23 11:06 ` bluez.test.bot
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox