Hi Bin, On 27 July 2015 at 01:33, Bin Meng <[email protected]> wrote: > With driver model, probing pci bus is all done on a lazy basis, > as needed. On x86, pci bus is the fundamental device that needs > to work before any other peripherals. In order to have a working > pci before any other pci devices can be initialized, we need > explicitly trigger the pci bus configuration. > > Signed-off-by: Bin Meng <[email protected]> > --- > > common/board_r.c | 16 ++++++++++++++++ > 1 file changed, 16 insertions(+) > > diff --git a/common/board_r.c b/common/board_r.c > index bf6c725..4263e47 100644 > --- a/common/board_r.c > +++ b/common/board_r.c > @@ -233,6 +233,22 @@ static int initr_pci(void) > { > #ifndef CONFIG_DM_PCI > pci_init(); > +#else > +#ifdef CONFIG_X86 > + /* > + * With driver model, probing pci bus is all done on a lazy basis, > + * as needed. On x86, pci bus is the fundamental device that needs > + * to work before any other peripherals. In order to have a working > + * pci before any other pci devices can be initialized, we need > + * explicitly trigger the pci bus configuration. > + */ > + struct udevice *dev; > + int ret; > + > + ret = uclass_first_device(UCLASS_PCI, &dev); > + if (ret) > + return ret;
Won't this happen anyway when you first access a PCI device? > +#endif > #endif > > return 0; > -- > 1.8.2.1 > Regards, Simon _______________________________________________ U-Boot mailing list [email protected] http://lists.denx.de/mailman/listinfo/u-boot

