[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