|
|
Log in / Subscribe / Register

Fixes/improvements for the PCI M.2 power sequencing driver

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>





Copyright © 2026, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds