From nobody Tue Apr 7 02:35:31 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 7B5DE375AA2; Tue, 17 Mar 2026 04:30:03 +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=1773721803; cv=none; b=QAfpn5Mb7jPDV5Iqe6uYYjLTbMPyke73hyLpA+57hWmD+RAfZ3UzOi5OzUeWHW/6hUSUk8DPiwwLhSBkpHHb+1xAnM+N8Sav8S3aHfISAsSXQZWXMe9wgUP5ADecD8qBb3hKzIO2CMuivpnx2cxwXBKp2LF+8SZKe8HY+jU7sIs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773721803; 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=dyJ+S/dkVZuA0+MgDQ9xVf181Qg9NN8wwUT4DGYDLFL6n5rFDOPMAtgODySJ4ctidgBLmnUSLbbjA/vqB8xcZDJR+PE+1YpDhhZHe7zIo0gOOr7pfQ8SPaU07xm9wODcIY4sqwccznEG29fnSuTiFfwKe4rCuCVsJaWL3rADIs8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=SUFaHqdh; 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="SUFaHqdh" Received: by smtp.kernel.org (Postfix) with ESMTPS id 3AA37C2BD01; Tue, 17 Mar 2026 04:30:03 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1773721803; bh=xvJdFB9vxMSBN+U1jZgkkmd/Zx+jTJimCm+f0cyrTkg=; h=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From; b=SUFaHqdhG7mXWAPba66RMlMQlmuXQF/BYj1OpMxffEFOlEpBY1wfj2vh4VLQ7K8q+ e457m+l3MLFFmeWupfBR6EwFKkofhHwbgssWoi8+SdpnLOzVO8AK/hJX9mvey/Dny8 feQKChby9+WzRwRpFGauA6QNG1gyN/7L2exYB2VnQBp2eUZvobCu4yQlvWuWiUE8wj ZLavo9alIU2HGweKYXy3lTgbb2Nu7/7yyqNMKiXkgrcjsyrgi3Z4HhPtp4bla1IS9N XAkEOb5AXAhHN4vq67b7N9shy5lXkuntG2snItjjDoio0+ONThIoWsvvBvCp84sesS Bu8dqdLXS7MFQ== 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 2EFB2FB5EBA; Tue, 17 Mar 2026 04:30:03 +0000 (UTC) From: Manivannan Sadhasivam via B4 Relay Date: Tue, 17 Mar 2026 09:59:57 +0530 Subject: [PATCH v6 7/9] 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: <20260317-pci-m2-e-v6-7-9c898f108d3d@oss.qualcomm.com> References: <20260317-pci-m2-e-v6-0-9c898f108d3d@oss.qualcomm.com> In-Reply-To: <20260317-pci-m2-e-v6-0-9c898f108d3d@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+kc71AcsmYgBpuNjI/fWp1VvvtoZmDOj7GoNdTjpzGVusgoyp6 YwFkmDMUnmJATMEAAEKAB0WIQRnpUMqgUjL2KRYJ5dVnxHm/pHO9QUCabjYyAAKCRBVnxHm/pHO 9aZcB/4+9qsDw7oVh6OpXwS8kRCci9gubV2KHYgbpsMTh/qOeGFKG5Fdwe1IL2GKDYyC5reMVIo wGPatXmtyNloYGk3guu+bmiv0/JZ+wDxt8OaoW44zH5eIcfs17pvplWqKo+oJVLzwTfUfZWy9i9 Rx7FGIOh79iampCMwCacZROhykXGUtdZ0pvwvF2R5ftGWPMH3QBSYSEsvL1myL3aNCaw4UkicnJ ayQWrQ332UUlcdNosnKmX7rusrH1oBEEdjrSyasG/d4rMWwQfuxIGhcjqtH9oV81Cq111EnEAVT i7svUUG7cmhG8BAdk30HqrnyimHxmZRApL7IonECIZwyvlUY 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 *se= rdev) case QCA_WCN6855: case QCA_WCN7850: case QCA_WCN6750: + 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