From nobody Thu Apr 2 23:55:26 2026 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 12D03396D2E; Thu, 26 Mar 2026 08:06:41 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774512401; cv=none; b=mZyZGFYzNPPfZX3uTSZQXuWRDIfvk0661HRiXlK8XhGqYgOjcWkiWIZxf52c4gxw+wKumrDIpJ6BE2PMuPjSO3EVo9iefFARZRT93IUqBAWLMB4wmYlGm/KGlHLpfDTYbRxTUWsnFE+i6weAKQw1sOU+WRd6fIhp9uMPgSOhF3Q= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1774512401; c=relaxed/simple; bh=2AsBGwIThIpmqCwadDnSVqcM3UljztlUDKiuJV6ebfw=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=i3QIjVNnsMds2b7xj6BmV6aitdtCVmku/FyH2dBucyWeL4Qbw+in7URsiW0N3pVNUSkjmSbnTLd1DNtlvEgXBi4/PdwO44iD01iUkvem2fNigTKjXEEsXVh6UpxIfy9v08bwR37Pp5NHugCofBiL+Bv0ofXMqIuzgONeRajNGLs= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=a+6lSDpr; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="a+6lSDpr" Received: by smtp.kernel.org (Postfix) with ESMTPS id B62DAC2BCC7; Thu, 26 Mar 2026 08:06:40 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1774512400; bh=2AsBGwIThIpmqCwadDnSVqcM3UljztlUDKiuJV6ebfw=; h=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From; b=a+6lSDprNOXj7Wr5QuU1vtELg/UG8yKvETJTuzvyaNnCwvbPg7zfRw5M2wGdVpqNw +jr62C3ESMWA32nmWzJgXEoXSxdTNKJDD7oCxNd9Yo9lAuuuIBE5NhwNEgoDh86vUz 1t/WZ8/ZPYyAIu3GR1wEu4OsYTHawAftRumvJvVzcIBQ9UkH0QGh4cjC/beowi5cuX Fay1IOdvvVlYDmP3RVHr9g+vQf/Z+kda5xbUJ7dB601bcHCnBIQj0YeqoKuK6teT83 3Y/RDZf7UDn081kAxc1czZzQqFpbQXvV1vyV44JdmIQNiY+v5JIrJhjN1WkkxG3hfk +GnUmmDsJFwIg== Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id AD71F106F2F9; Thu, 26 Mar 2026 08:06:40 +0000 (UTC) From: Manivannan Sadhasivam via B4 Relay Date: Thu, 26 Mar 2026 13:36:34 +0530 Subject: [PATCH v7 6/8] Bluetooth: hci_qca: Add M.2 Bluetooth device support using pwrseq Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260326-pci-m2-e-v7-6-43324a7866e6@oss.qualcomm.com> References: <20260326-pci-m2-e-v7-0-43324a7866e6@oss.qualcomm.com> In-Reply-To: <20260326-pci-m2-e-v7-0-43324a7866e6@oss.qualcomm.com> To: Rob Herring , Greg Kroah-Hartman , Jiri Slaby , Nathan Chancellor , Nicolas Schier , Hans de Goede , =?utf-8?q?Ilpo_J=C3=A4rvinen?= , Mark Pearson , "Derek J. Clark" , Manivannan Sadhasivam , Krzysztof Kozlowski , Conor Dooley , Marcel Holtmann , Luiz Augusto von Dentz , Bartosz Golaszewski , Andy Shevchenko , Bartosz Golaszewski Cc: linux-serial@vger.kernel.org, linux-kernel@vger.kernel.org, linux-kbuild@vger.kernel.org, platform-driver-x86@vger.kernel.org, linux-pci@vger.kernel.org, devicetree@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-bluetooth@vger.kernel.org, linux-pm@vger.kernel.org, Stephan Gerhold , Dmitry Baryshkov , linux-acpi@vger.kernel.org, Manivannan Sadhasivam , Hans de Goede , Bartosz Golaszewski X-Mailer: b4 0.15.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=1618; i=manivannan.sadhasivam@oss.qualcomm.com; h=from:subject:message-id; bh=xxlRBzaeOOVwKEqmUYkOJFXC3ANMhHu28t1gqhr9CSk=; b=owEBbQGS/pANAwAKAVWfEeb+kc71AcsmYgBpxOkNFmgti1XVSNenP+g8pG6IL8blsrurXDpzh k79D9yoxZyJATMEAAEKAB0WIQRnpUMqgUjL2KRYJ5dVnxHm/pHO9QUCacTpDQAKCRBVnxHm/pHO 9fXKB/9wkTCzxLPWXLcsLaEUQzhOwGY85NxrYHXpZ/e0OmuQesbj+0q8nNckfJU6STZPb9WMEHD 9J3KRaRwlsMqh4wpJ41ISt7WEZPVK4thXDV9VICpsS2e0plH55eREGsWPIsOAuBqyXgDZTM1wAD tbuC+GJpkH9XFPKY8zeCa79dh2aMbGGCLtGOPlPOdVyMDOjxpb5F/F/v+aAoZaf+WotMWvkPWBd U+tPMoGnX3K7TxXY7E9amvB/m0rrTJx9jGuGONmAZzqD/UHPgxcWxTTSp9WPcDQha1+UYukEeE+ wuLxtOo6yBTnr88Ldl3cCclgNIA3nwVD3JiL9huZ1xFf0ROD X-Developer-Key: i=manivannan.sadhasivam@oss.qualcomm.com; a=openpgp; fpr=C668AEC3C3188E4C611465E7488550E901166008 X-Endpoint-Received: by B4 Relay for manivannan.sadhasivam@oss.qualcomm.com/default with auth_id=461 X-Original-From: Manivannan Sadhasivam Reply-To: manivannan.sadhasivam@oss.qualcomm.com From: Manivannan Sadhasivam Power supply to the M.2 Bluetooth device attached to the host using M.2 connector is controlled using the 'uart' pwrseq device. So add support for getting the pwrseq device if the OF graph link is present. Once obtained, the existing pwrseq APIs can be used to control the power supplies of the M.2 card. Tested-by: Hans de Goede # ThinkPad T14s = gen6 (arm64) Reviewed-by: Bartosz Golaszewski Signed-off-by: Manivannan Sadhasivam --- drivers/bluetooth/hci_qca.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/drivers/bluetooth/hci_qca.c b/drivers/bluetooth/hci_qca.c index c17a462aef55..aaac3fb67d18 100644 --- a/drivers/bluetooth/hci_qca.c +++ b/drivers/bluetooth/hci_qca.c @@ -26,6 +26,7 @@ #include #include #include +#include #include #include #include @@ -2443,6 +2444,14 @@ static int qca_serdev_probe(struct serdev_device *se= rdev) case QCA_WCN6750: case QCA_WCN6855: case QCA_WCN7850: + if (of_graph_is_present(dev_of_node(&serdev->ctrl->dev))) { + qcadev->bt_power->pwrseq =3D devm_pwrseq_get(&serdev->ctrl->dev, + "uart"); + if (IS_ERR(qcadev->bt_power->pwrseq)) + return PTR_ERR(qcadev->bt_power->pwrseq); + break; + } + if (!device_property_present(&serdev->dev, "enable-gpios")) { /* * Backward compatibility with old DT sources. If the --=20 2.51.0