[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ncylcv227tpe574pj3yxpbsqx2rdmzf55zejschws56h6herdt@pck2vnhpmehq>
Date: Wed, 19 Nov 2025 19:06:17 +0530
From: Manivannan Sadhasivam <mani@...nel.org>
To: Bartosz Golaszewski <brgl@...ev.pl>
Cc: manivannan.sadhasivam@....qualcomm.com, Rob Herring <robh@...nel.org>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>, Jiri Slaby <jirislaby@...nel.org>,
Nathan Chancellor <nathan@...nel.org>, Nicolas Schier <nicolas.schier@...ux.dev>,
Hans de Goede <hansg@...nel.org>, Ilpo Järvinen <ilpo.jarvinen@...ux.intel.com>,
Mark Pearson <mpearson-lenovo@...ebb.ca>, "Derek J. Clark" <derekjohn.clark@...il.com>,
Krzysztof Kozlowski <krzk+dt@...nel.org>, Conor Dooley <conor+dt@...nel.org>,
Marcel Holtmann <marcel@...tmann.org>, Luiz Augusto von Dentz <luiz.dentz@...il.com>,
linux-serial@...r.kernel.org, linux-kernel@...r.kernel.org, linux-kbuild@...r.kernel.org,
platform-driver-x86@...r.kernel.org, linux-pci@...r.kernel.org, devicetree@...r.kernel.org,
linux-arm-msm@...r.kernel.org, linux-bluetooth@...r.kernel.org, linux-pm@...r.kernel.org,
Stephan Gerhold <stephan.gerhold@...aro.org>, Dmitry Baryshkov <dmitry.baryshkov@....qualcomm.com>
Subject: Re: [PATCH 8/9] Bluetooth: hci_qca: Add support for WCN7850 PCIe M.2
card
On Tue, Nov 18, 2025 at 03:29:49PM +0100, Bartosz Golaszewski wrote:
> On Wed, Nov 12, 2025 at 3:45 PM Manivannan Sadhasivam via B4 Relay
> <devnull+manivannan.sadhasivam.oss.qualcomm.com@...nel.org> wrote:
> >
> > From: Manivannan Sadhasivam <manivannan.sadhasivam@....qualcomm.com>
> >
> > The WCN7850 PCIe M.2 card connected to the UART controller exposes the
> > 'WCN7850' serdev device and is controlled using the pwrseq framework.
> >
> > Hence, add support for it in the driver. It reuses the existing
> > 'qca_soc_data_wcn7850' driver data.
> >
> > Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@....qualcomm.com>
> > ---
> > drivers/bluetooth/hci_qca.c | 20 ++++++++++++++++++++
> > 1 file changed, 20 insertions(+)
> >
> > diff --git a/drivers/bluetooth/hci_qca.c b/drivers/bluetooth/hci_qca.c
> > index 4cff4d9be3132561ee9bae4ddf2c8ac0bc13ecd7..09bfb3bba93698f496947775bf6b31f2f20279f1 100644
> > --- a/drivers/bluetooth/hci_qca.c
> > +++ b/drivers/bluetooth/hci_qca.c
> > @@ -26,6 +26,7 @@
> > #include <linux/mod_devicetable.h>
> > #include <linux/module.h>
> > #include <linux/of.h>
> > +#include <linux/of_graph.h>
> > #include <linux/acpi.h>
> > #include <linux/platform_device.h>
> > #include <linux/pwrseq/consumer.h>
> > @@ -2344,6 +2345,9 @@ static int qca_serdev_probe(struct serdev_device *serdev)
> >
> > qcadev->serdev_hu.serdev = serdev;
> > data = device_get_match_data(&serdev->dev);
> > + if (!data && serdev->id)
> > + data = (const struct qca_device_data *) serdev->id->driver_data;
> > +
> > serdev_device_set_drvdata(serdev, qcadev);
> > device_property_read_string_array(&serdev->dev, "firmware-name",
> > qcadev->firmware_name, ARRAY_SIZE(qcadev->firmware_name));
> > @@ -2384,6 +2388,15 @@ static int qca_serdev_probe(struct serdev_device *serdev)
> > case QCA_WCN6855:
> > case QCA_WCN7850:
> > case QCA_WCN6750:
> > + if (of_graph_is_present(dev_of_node(&serdev->ctrl->dev))) {
> > + qcadev->bt_power->pwrseq = devm_pwrseq_get(&serdev->ctrl->dev,
> > + "uart");
> > + if (IS_ERR(qcadev->bt_power->pwrseq))
> > + qcadev->bt_power->pwrseq = NULL;
> > + else
> > + break;
> > + }
>
> Did you by any chance copy this logic from commit: db0ff7e15923
> ("driver: bluetooth: hci_qca:fix unable to load the BT driver")? This
> commit is wrong and it flew under my radar during the summer and I
> never got around to fixing it. It doesn't take into account probe
> deferral.
>
Ah, yes. I think there is no point in continuing if devm_pwrseq_get() errors
out.
- Mani
--
மணிவண்ணன் சதாசிவம்
Powered by blists - more mailing lists