]> www.infradead.org Git - users/jedix/linux-maple.git/commit
PCI: Don't rely on of_platform_depopulate() for reused OF-nodes
authorBartosz Golaszewski <bartosz.golaszewski@linaro.org>
Fri, 23 Aug 2024 09:33:22 +0000 (11:33 +0200)
committerBjorn Helgaas <bhelgaas@google.com>
Tue, 3 Sep 2024 22:10:57 +0000 (17:10 -0500)
commitf1536585588ba630c533b6ffbca8ad8424aa5c39
treeced8d51f9c442db16d539f20ea5d8a2461257f85
parent8400291e289ee6b2bf9779ff1c83a291501f017b
PCI: Don't rely on of_platform_depopulate() for reused OF-nodes

of_platform_depopulate() doesn't play nicely with reused OF nodes - it
ignores the ones that are not marked explicitly as populated and it may
happen that the PCI device goes away before the platform device in which
case the PCI core clears the OF_POPULATED bit.

Unconditionally unregister the platform devices for child nodes when
stopping the PCI device.

Link: https://lore.kernel.org/r/20240823093323.33450-2-brgl@bgdev.pl
Fixes: 8fb18619d910 ("PCI/pwrctl: Create platform devices for child OF nodes of the port node")
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Acked-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
drivers/pci/remove.c