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 13D6C3D0907; Wed, 22 Apr 2026 11:25:13 +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=1776857113; cv=none; b=puh5rE6YbG9KuhkpTcE5/Vxft1r+BoNGxZ08cupT3fy+D9YG6GAit8FSEYbItwpH7EihLPWH65d6Ysc1bgeHLMvVxOuIZJAareuHRfmFPqbbZvfne1M32rq0N6WGnbmcRDB7Euuj4BMqGFt2krLSoi46hz2FD+z5931oeqfAiPE= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776857113; c=relaxed/simple; bh=+pPEoQPVaB6vrIwyqUBpjpkwH0SKrC3vOXGouN0HuCA=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=KdDQSjL4oUtHKXsKGnmMNwVXB+QuShXDkFDtuQOlaCESdJ2TCYTZbPA9EzTZm0/vV8n4ZYv5dm2jshANM1a1qNdmbgGIfQ+Jz4JcHWwl1hyW9W7WPENTDxPLiwJDzqbElOS9h5InbvBU6gNqYMQmGp283AUxwB7gjMuq/UkE7Qc= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=dhM2P/Vp; 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="dhM2P/Vp" Received: by smtp.kernel.org (Postfix) with ESMTPS id E6A94C2BD01; Wed, 22 Apr 2026 11:25:12 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1776857112; bh=+pPEoQPVaB6vrIwyqUBpjpkwH0SKrC3vOXGouN0HuCA=; h=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From; b=dhM2P/Vp6qrX4A7LjwBDF7+tnpgKyrQ+LPkye1o6jxS562KguRPAy/oUGVF2Hs7sC DA3NdYqdT60pWvirFW3Xz/32EI8qKKx3f+/tWzgXt8psykm50GoMXLcReEtf0gA4Zq Zsg2TqDzAOpUS4lCJYll/5LUXW8SqvyrSAEBEoZQRVW3JDVrS40FpdDq0QEPxE3XIP Vbse+D293jNP3eeLn/MH77APA8NiB4D/hJsLdBIwToxeW5ju36L8ZM5ywp87Ezn6nb f5k1y0qeBTzhvNZsmJzwlbc6UCTsVAWAE48klQSurFr0zqYw737+Cx5oQnalnzjNCN jX1dWNl1WjkCQ== 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 DE013F5A8DD; Wed, 22 Apr 2026 11:25:12 +0000 (UTC) From: Manivannan Sadhasivam via B4 Relay Date: Wed, 22 Apr 2026 16:54:50 +0530 Subject: [PATCH 09/12] Bluetooth: hci_qca: Add M.2 Bluetooth device support using pwrseq Precedence: bulk X-Mailing-List: linux-bluetooth@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: <20260422-pwrseq-m2-bt-v1-9-720d02545a64@oss.qualcomm.com> References: <20260422-pwrseq-m2-bt-v1-0-720d02545a64@oss.qualcomm.com> In-Reply-To: <20260422-pwrseq-m2-bt-v1-0-720d02545a64@oss.qualcomm.com> To: Bartosz Golaszewski , Manivannan Sadhasivam , Marcel Holtmann , Luiz Augusto von Dentz , Shuai Zhang Cc: linux-pm@vger.kernel.org, linux-kernel@vger.kernel.org, linux-pci@vger.kernel.org, linux-arm-msm@vger.kernel.org, linux-bluetooth@vger.kernel.org, Wei Deng , Luiz Augusto von Dentz , Manivannan Sadhasivam , Bartosz Golaszewski X-Mailer: b4 0.15.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=1651; i=manivannan.sadhasivam@oss.qualcomm.com; h=from:subject:message-id; bh=qvK9ciP9Mieq+7bzZAQ97BmIuJooRLI2mcgnenl9gDE=; b=owEBbQGS/pANAwAKAVWfEeb+kc71AcsmYgBp6LAVVuUjoZeqgIvI+Eh9dYh8Z1Endxct3JPBg LpEE1N6j2KJATMEAAEKAB0WIQRnpUMqgUjL2KRYJ5dVnxHm/pHO9QUCaeiwFQAKCRBVnxHm/pHO 9UxvB/9FVPbDboBVhdi4RzMfCrwPtrAQFlqXLDsyG/Krp20mLA2rUfusw3SKzfIvcg7D4B5hduy ICBO/nlJO9AmlUcOxEEZHJrzO2F1ktuUwVrcvFPtpa6d0VMG91uh9rNJChdQI0sKNuWHioaghqA BOltkglY6kZ+ZUVMyQFX9sEWWPTnXw29wbSIKNFbGCwXm6hT44tOA73+gOlz2eGYqYPuZcpYr4L DT83m7DCYQqQCsdrnuIfZg3G4JCpZkMbml7vqe4LrEZqx8qwDs6bW8BHnDZs8Rw58P4C8UsceUs 1kp/pceLn0NkibTWlvurvQ32jtJWSLPjAPO2dexj1tJcXSJA 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. Reviewed-by: Bartosz Golaszewski Signed-off-by: Manivannan Sadhasivam --- drivers/bluetooth/hci_qca.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/drivers/bluetooth/hci_qca.c b/drivers/bluetooth/hci_qca.c index cd1834246b47..c83fe72bc549 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,18 @@ static int qca_serdev_probe(struct serdev_device *serdev) case QCA_WCN6750: case QCA_WCN6855: case QCA_WCN7850: + /* + * OF graph link is only present for BT devices attached through + * the M.2 Key E connector. + */ + 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