| From: |
| Manivannan Sadhasivam via B4 Relay <devnull+manivannan.sadhasivam.oss.qualcomm.com-AT-kernel.org> |
| To: |
| Bartosz Golaszewski <brgl-AT-kernel.org>, Manivannan Sadhasivam <mani-AT-kernel.org>, Marcel Holtmann <marcel-AT-holtmann.org>, Luiz Augusto von Dentz <luiz.dentz-AT-gmail.com>, Shuai Zhang <quic_shuaz-AT-quicinc.com> |
| Subject: |
| [PATCH 00/12] Fixes/improvements for the PCI M.2 power sequencing driver |
| Date: |
| Wed, 22 Apr 2026 16:54:41 +0530 |
| Message-ID: |
| <20260422-pwrseq-m2-bt-v1-0-720d02545a64@oss.qualcomm.com> |
| Cc: |
| linux-pm-AT-vger.kernel.org, linux-kernel-AT-vger.kernel.org, linux-pci-AT-vger.kernel.org, linux-arm-msm-AT-vger.kernel.org, linux-bluetooth-AT-vger.kernel.org, Wei Deng <wei.deng-AT-oss.qualcomm.com>, Luiz Augusto von Dentz <luiz.von.dentz-AT-intel.com>, Manivannan Sadhasivam <manivannan.sadhasivam-AT-oss.qualcomm.com>, Bartosz Golaszewski <bartosz.golaszewski-AT-oss.qualcomm.com>, stable+noautosel-AT-kernel.org |
| Archive-link: |
| Article |
Hi,
This series has several key improvements and fixes to the M.2 power sequencing
driver and also the BT HCI_QCA driver. Notably, this series allows the M.2 power
sequencing driver to work with more M.2 cards, not just WCN7850. It also allows
the BT HCI_QCA driver to detect whether it can control BT_EN (or W_DISABLE2#)
signal on the connector and set the HCI_QUIRK_NON_PERSISTENT_SETUP quirk.
Testing
=======
This series was tested on Lenovo Thinkpad T14s together with the below DTS
patches:
https://github.com/Mani-Sadhasivam/linux/commit/29534d153...
https://github.com/Mani-Sadhasivam/linux/commit/f4eaacfe6...
Merge Strategy
==============
Since the BT HCI_QCA changes depend on the pwrseq changes, it would be good to
merge the whole series through pwrseq tree or through an immutable branch.
Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@oss.qualcomm.com>
---
Manivannan Sadhasivam (12):
power: sequencing: Introduce an API to check whether the pwrseq is fixed or controllable
power: sequencing: pcie-m2: Add support for 'is_fixed()' callback to 'uart' target
power: sequencing: qcom-wcn: Add support for 'is_fixed()' callback to 'bluetooth' target
power: sequencing: pcie-m2: Fix inconsistent function prefixes
power: sequencing: pcie-m2: Allow creating serdev for multiple PCI devices
power: sequencing: pcie-m2: Improve PCI device ID check
power: sequencing: pcie-m2: Create serdev for PCI devices present before probe
power: sequencing: pcie-m2: Create BT node based on the pci_device_id[] table
Bluetooth: hci_qca: Add M.2 Bluetooth device support using pwrseq
Bluetooth: hci_qca: Rename 'power_ctrl_enabled' to 'bt_en_available'
Bluetooth: hci_qca: Check whether the M.2 UART interface is fixed or not
Bluetooth: hci_qca: Fix the broken BT_EN GPIO detection for Qcom WCN devices
drivers/bluetooth/hci_qca.c | 40 +++--
drivers/power/sequencing/core.c | 33 ++++
drivers/power/sequencing/pwrseq-pcie-m2.c | 242 ++++++++++++++++++++++-------
drivers/power/sequencing/pwrseq-qcom-wcn.c | 9 ++
include/linux/pwrseq/consumer.h | 6 +
include/linux/pwrseq/provider.h | 2 +
6 files changed, 262 insertions(+), 70 deletions(-)
---
base-commit: 6596a02b207886e9e00bb0161c7fd59fea53c081
change-id: 20260422-pwrseq-m2-bt-abdaa71094eb
Best regards,
--
Manivannan Sadhasivam <manivannan.sadhasivam@oss.qualcomm.com>