pci: sandbox: Probe PCI emulation devices when used
At present PCI emulation devices are not probed before use, since they
used to be children of the device that used them, and children cannot be
probed before their parents.
Now that PCI emulation devices are attached to the root node, we can
simply probe them, and avoid using the internal function.
Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Tested-by: Bin Meng <bmeng.cn@gmail.com>
[bmeng: rebase the patch against u-boot-x86/next to get it applied cleanly]
Signed-off-by: Bin Meng <bmeng.cn@gmail.com>
diff --git a/drivers/pci/pci-emul-uclass.c b/drivers/pci/pci-emul-uclass.c
index 6b4efce..fd87b3e 100644
--- a/drivers/pci/pci-emul-uclass.c
+++ b/drivers/pci/pci-emul-uclass.c
@@ -10,7 +10,6 @@
#include <linux/libfdt.h>
#include <pci.h>
#include <dm/lists.h>
-#include <dm/uclass-internal.h>
struct sandbox_pci_emul_priv {
int dev_count;
@@ -35,8 +34,8 @@
* See commit 4345998ae9df,
* "pci: sandbox: Support dynamically binding device driver"
*/
- ret = uclass_find_device_by_phandle(UCLASS_PCI_EMUL, dev,
- "sandbox,emul", emulp);
+ ret = uclass_get_device_by_phandle(UCLASS_PCI_EMUL, dev, "sandbox,emul",
+ emulp);
if (ret && device_get_uclass_id(dev) != UCLASS_PCI_GENERIC)
*emulp = dev;