[PATCH 09/18] common: board_r: Drop initr_pci wrapper
Simon Glass
sjg at chromium.org
Sat Nov 14 16:17:12 CET 2020
On Thu, 5 Nov 2020 at 03:10, Ovidiu Panait <ovidiu.panait at windriver.com> wrote:
>
> Add a return value to pci_init and use it directly in the post-relocation
> init sequence, rather than using a wrapper stub.
>
> Signed-off-by: Ovidiu Panait <ovidiu.panait at windriver.com>
> ---
> common/board_r.c | 18 ++++--------------
> drivers/pci/pci-uclass.c | 4 +++-
> drivers/pci/pci.c | 6 ++++--
> include/init.h | 2 +-
> 4 files changed, 12 insertions(+), 18 deletions(-)
Reviewed-by: Simon Glass <sjg at chromium.org>
nit below
>
> diff --git a/common/board_r.c b/common/board_r.c
> index d86ff0cb5e..414b6272c5 100644
> --- a/common/board_r.c
> +++ b/common/board_r.c
> @@ -214,16 +214,6 @@ static int initr_unlock_ram_in_cache(void)
> }
> #endif
>
> -#ifdef CONFIG_PCI
> -static int initr_pci(void)
> -{
> - if (IS_ENABLED(CONFIG_PCI_INIT_R))
> - pci_init();
> -
> - return 0;
> -}
> -#endif
> -
> static int initr_barrier(void)
> {
> #ifdef CONFIG_PPC
> @@ -732,12 +722,12 @@ static init_fnc_t init_sequence_r[] = {
> post_output_backlog,
> #endif
> INIT_FUNC_WATCHDOG_RESET
> -#if defined(CONFIG_PCI) && defined(CONFIG_SYS_EARLY_PCI_INIT)
> +#if defined(CONFIG_PCI_INIT_R) && defined(CONFIG_SYS_EARLY_PCI_INIT)
> /*
> * Do early PCI configuration _before_ the flash gets initialised,
> * because PCU resources are crucial for flash access on some boards.
> */
> - initr_pci,
> + pci_init,
> #endif
> #ifdef CONFIG_ARCH_EARLY_INIT_R
> arch_early_init_r,
> @@ -776,11 +766,11 @@ static init_fnc_t init_sequence_r[] = {
> mac_read_from_eeprom,
> #endif
> INIT_FUNC_WATCHDOG_RESET
> -#if defined(CONFIG_PCI) && !defined(CONFIG_SYS_EARLY_PCI_INIT)
> +#if defined(CONFIG_PCI_INIT_R) && !defined(CONFIG_SYS_EARLY_PCI_INIT)
> /*
> * Do pci configuration
> */
> - initr_pci,
> + pci_init,
> #endif
> stdio_add_devices,
> initr_jumptable,
> diff --git a/drivers/pci/pci-uclass.c b/drivers/pci/pci-uclass.c
> index eb07d25301..7e9b5cf0fa 100644
> --- a/drivers/pci/pci-uclass.c
> +++ b/drivers/pci/pci-uclass.c
> @@ -1834,7 +1834,7 @@ U_BOOT_DRIVER(pci_generic_drv) = {
> .of_match = pci_generic_ids,
> };
>
> -void pci_init(void)
> +int pci_init(void)
> {
> struct udevice *bus;
>
> @@ -1847,4 +1847,6 @@ void pci_init(void)
> uclass_next_device_check(&bus)) {
> ;
> }
> +
> + return 0;
> }
> diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c
> index 664e8379eb..a7453e5755 100644
> --- a/drivers/pci/pci.c
> +++ b/drivers/pci/pci.c
> @@ -454,16 +454,18 @@ int pci_hose_scan(struct pci_controller *hose)
> return pci_hose_scan_bus(hose, hose->current_busno);
> }
>
> -void pci_init(void)
> +int pci_init(void)
> {
> hose_head = NULL;
>
> /* allow env to disable pci init/enum */
> if (env_get("pcidisable") != NULL)
> - return;
> + return 0;
>
> /* now call board specific pci_init()... */
> pci_init_board();
> +
> + return 0;
> }
>
> /* Returns the address of the requested capability structure within the
> diff --git a/include/init.h b/include/init.h
> index a887c2b4fc..5519562163 100644
> --- a/include/init.h
> +++ b/include/init.h
> @@ -234,7 +234,7 @@ int mac_read_from_eeprom(void);
> int set_cpu_clk_info(void);
> int update_flash_size(int flash_size);
> int arch_early_init_r(void);
> -void pci_init(void);
> +int pci_init(void);
Please add a comment about what it does and the return value
> int pci_ep_init(void);
> int misc_init_r(void);
> #if defined(CONFIG_VID)
> --
> 2.17.1
>
More information about the U-Boot
mailing list