public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] PCI/pwrctrl: Create device link only if both platform device and supplies are present
@ 2024-11-20  6:24 Manivannan Sadhasivam
  2024-11-20 22:18 ` Bjorn Helgaas
  0 siblings, 1 reply; 2+ messages in thread
From: Manivannan Sadhasivam @ 2024-11-20  6:24 UTC (permalink / raw)
  To: bhelgaas
  Cc: linux-pci, linux-kernel, bartosz.golaszewski,
	Manivannan Sadhasivam, Jonathan Currier

Checking only for platform device for the PCI devices and creating the
devlink causes regression on SPARCv9 systems as they seem to have platform
device populated elsewhere.

So add a check for supplies in DT to make sure that the devlink is only
created for devices that require pwrctrl support.

Reported-by: Jonathan Currier <dullfire@yahoo.com>
Closes: https://bugzilla.kernel.org/show_bug.cgi?id=219513
Fixes: 03cfe0e05650 ("PCI/pwrctl: Ensure that the pwrctl drivers are probed before the PCI client drivers")
Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
---
 drivers/pci/bus.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/pci/bus.c b/drivers/pci/bus.c
index 7a061cc860d5..e70f4c089cd4 100644
--- a/drivers/pci/bus.c
+++ b/drivers/pci/bus.c
@@ -394,7 +394,7 @@ void pci_bus_add_device(struct pci_dev *dev)
 	 * PCI client drivers.
 	 */
 	pdev = of_find_device_by_node(dn);
-	if (pdev) {
+	if (pdev && of_pci_is_supply_present(dn)) {
 		if (!device_link_add(&dev->dev, &pdev->dev,
 				     DL_FLAG_AUTOREMOVE_CONSUMER))
 			pci_err(dev, "failed to add device link between %s and %s\n",
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2024-11-20 22:18 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-11-20  6:24 [PATCH] PCI/pwrctrl: Create device link only if both platform device and supplies are present Manivannan Sadhasivam
2024-11-20 22:18 ` Bjorn Helgaas

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox