On 4/24/24 6:36 AM, quic_zijuhu wrote:
On 4/24/2024 9:31 PM, Wren Turkal wrote:
On 4/24/24 6:22 AM, quic_zijuhu wrote:
On 4/24/2024 9:18 PM, Bartosz Golaszewski wrote:
On Wed, 24 Apr 2024 at 15:10, Wren Turkal <wt@xxxxxxxxxxxxxxxx> wrote:
On 4/24/24 5:29 AM, Bartosz Golaszewski wrote:
From: Bartosz Golaszewski<bartosz.golaszewski@xxxxxxxxxx>
Any return value from gpiod_get_optional() other than a pointer to a
GPIO descriptor or a NULL-pointer is an error and the driver should
abort probing. That being said: commit 56d074d26c58 ("Bluetooth:
hci_qca:
don't use IS_ERR_OR_NULL() with gpiod_get_optional()") no longer sets
power_ctrl_enabled on NULL-pointer returned by
devm_gpiod_get_optional(). Restore this behavior but bail-out on
errors.
While at it: also bail-out on error returned when trying to get the
"swctrl" GPIO.
Reported-by: Wren Turkal<wt@xxxxxxxxxxxxxxxx>
Reported-by: Zijun Hu<quic_zijuhu@xxxxxxxxxxx>
Closes:https://lore.kernel.org/linux-bluetooth/1713449192-25926-2-git-send-email-quic_zijuhu@xxxxxxxxxxx/
Fixes: 56d074d26c58 ("Bluetooth: hci_qca: don't use
IS_ERR_OR_NULL() with gpiod_get_optional()")
Reviewed-by: Krzysztof Kozlowski<krzysztof.kozlowski@xxxxxxxxxx>
Signed-off-by: Bartosz Golaszewski<bartosz.golaszewski@xxxxxxxxxx>
Tested-by: "Wren Turkal" <wt@xxxxxxxxxxxxxxxx>
Like this?
Yes, awesome, thanks.
This is how reviewing works too in the kernel, look at what Krzysztof
did under v1, he just wrote:
Reviewed-by: Krzysztof Kozlowski<krzysztof.kozlowski@xxxxxxxxxx>
v1 have obvious something wrong as i pointed and verified.
so i think it is not suitable to attach v1's review-by tag to v2 anyway.
@Zijun, your concern is that current DTs may not define the gpio and
this will cause the bluetooth not to work?
Would that not more appropriately be fixed by machine-specific fixups
for the DT?
for lunched production, it is difficult or not possible to change such
config.
I am not talking about the DT in the device. I am talking about the
mechanism the kernel has for applying fixups to DTs.
If a dev builds a new kernel for a dev and finds it not to work, the
kernel would then have a fixup added, like described here:
https://docs.kernel.org/devicetree/usage-model.html#platform-identification
And mailing list tools will pick it up.
Bartosz
--
You're more amazing than you think!