[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20241025-pci-pwrctl-rework-v2-0-568756156cbe@linaro.org>
Date: Fri, 25 Oct 2024 13:24:50 +0530
From: Manivannan Sadhasivam via B4 Relay <devnull+manivannan.sadhasivam.linaro.org@...nel.org>
To: Bjorn Helgaas <bhelgaas@...gle.com>,
Bartosz Golaszewski <bartosz.golaszewski@...aro.org>,
Bartosz Golaszewski <brgl@...ev.pl>
Cc: linux-pci@...r.kernel.org, linux-kernel@...r.kernel.org,
Dmitry Baryshkov <dmitry.baryshkov@...aro.org>,
Johan Hovold <johan+linaro@...nel.org>, Abel Vesa <abel.vesa@...aro.org>,
Stephan Gerhold <stephan.gerhold@...aro.org>,
Srinivas Kandagatla <srinivas.kandagatla@...aro.org>,
Bjorn Andersson <bjorn.andersson@....qualcomm.com>,
Manivannan Sadhasivam <manivannan.sadhasivam@...aro.org>,
Krishna chaitanya chundru <quic_krichai@...cinc.com>,
stable+noautosel@...nel.org
Subject: [PATCH v2 0/5] PCI/pwrctl: Ensure that the pwrctl drivers are
probed before PCI client drivers
Hi,
This series reworks the PCI/pwrctl integration to ensure that the pwrctl drivers
are always probed before the PCI client drivers. This series addresses a race
condition when both pwrctl and pwrctl/pwrseq drivers probe parallely (even when
the later one probes last). One such issue was reported for the Qcom X13s
platform with WLAN module and fixed with 'commit a9aaf1ff88a8 ("power:
sequencing: request the WLAN enable GPIO as-is")'.
Though the issue was fixed with a hack in the pwrseq driver, it was clear that
the issue is applicable to all pwrctl drivers. Hence, this series tries to
address the issue in the PCI/pwrctl integration.
- Mani
Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@...aro.org>
---
Changes in v2:
- Used for_each_available_child_of_node_scoped() to iterate over child nodes
(Bartosz)
- Collected tags
- Link to v1: https://lore.kernel.org/r/20241022-pci-pwrctl-rework-v1-0-94a7e90f58c5@linaro.org
---
Manivannan Sadhasivam (5):
PCI/pwrctl: Use of_platform_device_create() to create pwrctl devices
PCI/pwrctl: Create pwrctl devices only if at least one power supply is present
PCI/pwrctl: Ensure that the pwrctl drivers are probed before the PCI client drivers
PCI/pwrctl: Move pwrctl device creation to its own helper function
PCI/pwrctl: Remove pwrctl device without iterating over all children of pwrctl parent
drivers/pci/bus.c | 64 +++++++++++++++++++++++++++++++++++++++++------
drivers/pci/of.c | 27 ++++++++++++++++++++
drivers/pci/pci.h | 5 ++++
drivers/pci/pwrctl/core.c | 10 --------
drivers/pci/remove.c | 17 ++++++-------
5 files changed, 96 insertions(+), 27 deletions(-)
---
base-commit: 48dc7986beb60522eb217c0016f999cc7afaf0b7
change-id: 20241022-pci-pwrctl-rework-a1b024158555
Best regards,
--
Manivannan Sadhasivam <manivannan.sadhasivam@...aro.org>
Powered by blists - more mailing lists