[PATCH 00/12] Fixes/improvements for the PCI M.2 power sequencing driver

From: Manivannan Sadhasivam via B4 Relay

Date: Wed Apr 22 2026 - 07:26:03 EST


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/29534d15307551b2355eb254601dec511169f0aa
https://github.com/Mani-Sadhasivam/linux/commit/f4eaacfe647674be200847092b43cdef2194fc55

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@xxxxxxxxxxxxxxxx>
---
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@xxxxxxxxxxxxxxxx>