On Tue, 22 Oct 2024 at 12:28, Manivannan Sadhasivam via B4 Relay <devnull+manivannan.sadhasivam.linaro.org@xxxxxxxxxx> wrote: > > 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@xxxxxxxxxx> > --- > 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@xxxxxxxxxx> > > Excellent work, thanks for doing this. Tested on: sc8280xp-crd, RB5 and sm8450-hdk. Tested-by: Bartosz Golaszewski <bartosz.golaszewski@xxxxxxxxxx> Just a couple nits from my side under respective patches. Bart