From mboxrd@z Thu Jan 1 00:00:00 1970 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 50E692BE621; Tue, 24 Feb 2026 05:30:53 +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=1771911053; cv=none; b=Qv5BhCcS7NaWhY3lvmAKUCHi/AAfSl1iux8Lyh1XyNbnW03x6whXScZB7JELc3f8DHpNtBlBavm9uoYGpWGjrPQmrmBSLwgpqiFlrA3AYJdr2Ade//8Ou99deaCz3ng7HGauMcXNzVxZ5vr5+BPIwrdDbNvFgZkfMoKL5gSfdm0= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1771911053; c=relaxed/simple; bh=xvJdFB9vxMSBN+U1jZgkkmd/Zx+jTJimCm+f0cyrTkg=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=OIJ9DH9y+lru890QndfDwnE/1+AG8hSfNAvaeyOLgE+VsdNJV7lF/sYCpWlcnvxt1CIMCkO01AH2AsEa5e28B4TbKEdecIWX8b2pSeotuld2TMnsnvupOD/2t8650575P7QY7NuutBtxrj6aEWdCsGop20hQLYXX/YpXSYcUf8E= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=pc8ooo6W; 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="pc8ooo6W" Received: by smtp.kernel.org (Postfix) with ESMTPS id 18D83C2BC86; Tue, 24 Feb 2026 05:30:53 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1771911053; bh=xvJdFB9vxMSBN+U1jZgkkmd/Zx+jTJimCm+f0cyrTkg=; h=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From; b=pc8ooo6Wx3CKQmkSJX7xF/k95HMyTe1KN8YJAEKHxYupxf9MYHbYKmSUatwlMeJJZ lmWCHNCOHeV65IQVpeSactuWaoQuhkZ+ds4lmWS1aYuHj6nYIXDcjDBf2oNuJPfNRL U2syCN6xX/5CsTNCWP0C6/HFeBNkjkSHhoW6Oou0TOY3kdWst9iXsjJpCSFApIj2ye zkr/5zrH9glj5jeH51VM2YEecFIfu6XgLcLMZH6CACdd5c4+B+CN7s4ZVD3Q5GHRrT iPcOCwbutPfrxFyMQHh5Jbu8+GsPbiuXqc9/djs5FLxfzs2BQQiRiUjZa1X2XlpbXm IU9meymBepdbg== 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 0D8DAEFB7F9; Tue, 24 Feb 2026 05:30:53 +0000 (UTC) From: Manivannan Sadhasivam via B4 Relay Date: Tue, 24 Feb 2026 11:00:53 +0530 Subject: [PATCH v5 7/9] Bluetooth: hci_qca: Add M.2 Bluetooth device support using pwrseq Precedence: bulk X-Mailing-List: linux-arm-msm@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-Id: <20260224-pci-m2-e-v5-7-dd9b9501d33c@oss.qualcomm.com> References: <20260224-pci-m2-e-v5-0-dd9b9501d33c@oss.qualcomm.com> In-Reply-To: <20260224-pci-m2-e-v5-0-dd9b9501d33c@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.14.3 X-Developer-Signature: v=1; a=openpgp-sha256; l=1618; i=manivannan.sadhasivam@oss.qualcomm.com; h=from:subject:message-id; bh=ufAjqbjVnkw5Wp64hBIBNRpJbSZpySlLbuaUxcUM4UA=; b=owEBbQGS/pANAwAKAVWfEeb+kc71AcsmYgBpnTeIOrSfXKDZNm2Hsenx3LBxiiDmoHJfRccc8 nS3AXdbEVWJATMEAAEKAB0WIQRnpUMqgUjL2KRYJ5dVnxHm/pHO9QUCaZ03iAAKCRBVnxHm/pHO 9ejfB/9vkVjNDMBin3BxrbVfMZ9p+ooG84OGnulSRlqxXjsPfe4bXcJCwM4McrlaLgcJktdtA6N 9kxM57T3t1ognMa2z6UV7NLxIgDxP/kWASvW1YYfXTC+RJyaCmEqEkKVMJNq4CrUuq0f3zgiDLx ci8l6d4VtkF2wq+lyaU2YnBO31Lg0xpps5jr5HMhS5DtjwDXN81QHwvZZAkt0OJpx/9m9GO7BP4 kotz/I4twxdRLlqjYzh4zp1jDJO0aGK6ow4RBbjITBJwj/489ILOTwkkIs44m6MXWjIfldQQS1k MheuT+0sHnNF3AVXKslu83JCWu5UOMlAQ1B3Xxflt7z8Zsz/ 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 5b02e7c3f56d..0454c2318461 100644 --- a/drivers/bluetooth/hci_qca.c +++ b/drivers/bluetooth/hci_qca.c @@ -26,6 +26,7 @@ #include #include #include +#include #include #include #include @@ -2421,6 +2422,14 @@ 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)) + return PTR_ERR(qcadev->bt_power->pwrseq); + break; + } + if (!device_property_present(&serdev->dev, "enable-gpios")) { /* * Backward compatibility with old DT sources. If the -- 2.51.0