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>
This commit is contained in:
Simon Glass 2019-08-31 17:59:32 -06:00 committed by Bin Meng
parent 9b69ba4a78
commit be0d8fa452

View File

@ -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 @@ int sandbox_pci_get_emul(struct udevice *bus, pci_dev_t find_devfn,
* 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;