@@ -2487,7 +2487,14 @@ static struct pci_dev *pci_scan_device(struct pci_bus *bus, int devfn) struct pci_dev *dev; u32 l; - pci_pwrctrl_create_device(bus, devfn); + /* + * Create pwrctrl device (if required) for the PCI device to handle the + * power state. If the pwrctrl device is created, then skip scanning + * further as the pwrctrl core will rescan the bus after powering on + * the device. + */ + if (pci_pwrctrl_create_device(bus, devfn)) + return NULL; Hi Manivannan, The current patch logic is that if the pcie device node is found to have the "xxx-supply" property, the scan will be skipped, and then the pwrctrl driver will rescan and enable the regulators. However, after merging this patch, there is a problem on our platform. The .probe() of our device driver will not be called. The reason is that CONFIG_PCI_PWRCTL_SLOT is not enabled at all in our configuration file, and the compatible string of the device is also not added to the pwrctrl driver. I think other platforms should also have similar problems, which undoubtedly make these platforms be unstable. This patch has been applied, and I am not familiar with this. Can you fix this problem? I mean that those platforms that do not use pwrctrl can avoid skipping the scan.