[U-Boot] [PATCH 4/5] x86: Explicitly trigger pci bus configuration with driver model
Simon Glass
sjg at chromium.org
Mon Aug 3 00:31:23 CEST 2015
Hi Bin,
On 27 July 2015 at 01:33, Bin Meng <bmeng.cn at gmail.com> 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 <bmeng.cn at gmail.com>
> ---
>
> 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
More information about the U-Boot
mailing list