From: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
QCA6390 can albo be used on non-DT systems so we must not make the power
sequencing the only option. Check if the serdev device consumes an OF
node. If so: honor the new contract as per the DT bindings. If not: fall
back to the previous behavior by falling through to the existing
default label.
Fixes: 9a15ce685706 ("Bluetooth: qca: use the power sequencer for QCA6390")
Reported-by: Wren Turkal <wt@penguintechs.org>
Closes: https://lore.kernel.org/linux-bluetooth/27e6a6c5-fb63-4219-be0b-eefa2c116e06@penguintechs.org/
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
---
drivers/bluetooth/hci_qca.c | 13 ++++++++-----
1 file changed, 8 insertions(+), 5 deletions(-)
diff --git a/drivers/bluetooth/hci_qca.c b/drivers/bluetooth/hci_qca.c
index a20dd5015346..2baed7d0f479 100644
--- a/drivers/bluetooth/hci_qca.c
+++ b/drivers/bluetooth/hci_qca.c
@@ -2412,11 +2412,14 @@ static int qca_serdev_probe(struct serdev_device *serdev)
break;
case QCA_QCA6390:
- qcadev->bt_power->pwrseq = devm_pwrseq_get(&serdev->dev,
- "bluetooth");
- if (IS_ERR(qcadev->bt_power->pwrseq))
- return PTR_ERR(qcadev->bt_power->pwrseq);
- break;
+ if (dev_of_node(&serdev->dev)) {
+ qcadev->bt_power->pwrseq = devm_pwrseq_get(&serdev->dev,
+ "bluetooth");
+ if (IS_ERR(qcadev->bt_power->pwrseq))
+ return PTR_ERR(qcadev->bt_power->pwrseq);
+ break;
+ }
+ fallthrough;
default:
qcadev->bt_en = devm_gpiod_get_optional(&serdev->dev, "enable",
--
2.43.0
On 7/31/24 8:20 AM, Bartosz Golaszewski wrote:
> From: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
>
> QCA6390 can albo be used on non-DT systems so we must not make the power
> sequencing the only option. Check if the serdev device consumes an OF
> node. If so: honor the new contract as per the DT bindings. If not: fall
> back to the previous behavior by falling through to the existing
> default label.
>
> Fixes: 9a15ce685706 ("Bluetooth: qca: use the power sequencer for QCA6390")
> Reported-by: Wren Turkal <wt@penguintechs.org>
> Closes: https://lore.kernel.org/linux-bluetooth/27e6a6c5-fb63-4219-be0b-eefa2c116e06@penguintechs.org/
> Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Was this commit supposed to have a Tested-by: footer for me?
> ---
> drivers/bluetooth/hci_qca.c | 13 ++++++++-----
> 1 file changed, 8 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/bluetooth/hci_qca.c b/drivers/bluetooth/hci_qca.c
> index a20dd5015346..2baed7d0f479 100644
> --- a/drivers/bluetooth/hci_qca.c
> +++ b/drivers/bluetooth/hci_qca.c
> @@ -2412,11 +2412,14 @@ static int qca_serdev_probe(struct serdev_device *serdev)
> break;
>
> case QCA_QCA6390:
> - qcadev->bt_power->pwrseq = devm_pwrseq_get(&serdev->dev,
> - "bluetooth");
> - if (IS_ERR(qcadev->bt_power->pwrseq))
> - return PTR_ERR(qcadev->bt_power->pwrseq);
> - break;
> + if (dev_of_node(&serdev->dev)) {
> + qcadev->bt_power->pwrseq = devm_pwrseq_get(&serdev->dev,
> + "bluetooth");
> + if (IS_ERR(qcadev->bt_power->pwrseq))
> + return PTR_ERR(qcadev->bt_power->pwrseq);
> + break;
> + }
> + fallthrough;
>
> default:
> qcadev->bt_en = devm_gpiod_get_optional(&serdev->dev, "enable",
>
--
You're more amazing than you think!
On Wed, 7 Aug 2024 at 21:09, Wren Turkal <wt@penguintechs.org> wrote:
>
> On 7/31/24 8:20 AM, Bartosz Golaszewski wrote:
> > From: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
> >
> > QCA6390 can albo be used on non-DT systems so we must not make the power
> > sequencing the only option. Check if the serdev device consumes an OF
> > node. If so: honor the new contract as per the DT bindings. If not: fall
> > back to the previous behavior by falling through to the existing
> > default label.
> >
> > Fixes: 9a15ce685706 ("Bluetooth: qca: use the power sequencer for QCA6390")
> > Reported-by: Wren Turkal <wt@penguintechs.org>
> > Closes: https://lore.kernel.org/linux-bluetooth/27e6a6c5-fb63-4219-be0b-eefa2c116e06@penguintechs.org/
> > Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
>
> Was this commit supposed to have a Tested-by: footer for me?
>
Yes, I sent you an offlist message about it. You added:
+Tested-by: (...)
The leading `+` caused patchwork to omit the tag. Just do:
Tested-by: (...)
next time.
Thanks,
Bartosz
Dear Bartosz,
Thank you for the patch.
Am 31.07.24 um 17:20 schrieb Bartosz Golaszewski:
> From: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
>
> QCA6390 can albo be used on non-DT systems so we must not make the power
al*s*o
> sequencing the only option. Check if the serdev device consumes an OF
> node. If so: honor the new contract as per the DT bindings. If not: fall
> back to the previous behavior by falling through to the existing
> default label.
>
> Fixes: 9a15ce685706 ("Bluetooth: qca: use the power sequencer for QCA6390")
> Reported-by: Wren Turkal <wt@penguintechs.org>
> Closes: https://lore.kernel.org/linux-bluetooth/27e6a6c5-fb63-4219-be0b-eefa2c116e06@penguintechs.org/
> Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
> ---
> drivers/bluetooth/hci_qca.c | 13 ++++++++-----
> 1 file changed, 8 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/bluetooth/hci_qca.c b/drivers/bluetooth/hci_qca.c
> index a20dd5015346..2baed7d0f479 100644
> --- a/drivers/bluetooth/hci_qca.c
> +++ b/drivers/bluetooth/hci_qca.c
> @@ -2412,11 +2412,14 @@ static int qca_serdev_probe(struct serdev_device *serdev)
> break;
>
> case QCA_QCA6390:
> - qcadev->bt_power->pwrseq = devm_pwrseq_get(&serdev->dev,
> - "bluetooth");
> - if (IS_ERR(qcadev->bt_power->pwrseq))
> - return PTR_ERR(qcadev->bt_power->pwrseq);
> - break;
> + if (dev_of_node(&serdev->dev)) {
> + qcadev->bt_power->pwrseq = devm_pwrseq_get(&serdev->dev,
> + "bluetooth");
> + if (IS_ERR(qcadev->bt_power->pwrseq))
> + return PTR_ERR(qcadev->bt_power->pwrseq);
> + break;
> + }
> + fallthrough;
>
> default:
> qcadev->bt_en = devm_gpiod_get_optional(&serdev->dev, "enable",
Reviewed-by: Paul Menzel <pmenzel@molgen.mpg.de>
Kind regards,
Paul
On Thu, Aug 1, 2024 at 9:29 AM Paul Menzel <pmenzel@molgen.mpg.de> wrote: > > Dear Bartosz, > > > Thank you for the patch. > > Am 31.07.24 um 17:20 schrieb Bartosz Golaszewski: > > From: Bartosz Golaszewski <bartosz.golaszewski@linaro.org> > > > > QCA6390 can albo be used on non-DT systems so we must not make the power > > al*s*o > Luiz: Can you fix this when applying? Bart
© 2016 - 2026 Red Hat, Inc.