Message ID | 20240731-hci_qca_fixes-v1-2-59dad830b243@linaro.org |
---|---|
State | New |
Headers | show |
Series | Bluetooth: hci_qca: fix post merge window regressions | expand |
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
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", >
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
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",