}
#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
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,
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,
.of_match = pci_generic_ids,
};
-void pci_init(void)
+int pci_init(void)
{
struct udevice *bus;
uclass_next_device_check(&bus)) {
;
}
+
+ return 0;
}
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
*/
int pci_ep_init(void);
+/**
+ * pci_init() - Enumerate pci devices
+ *
+ * It is called during the generic post-relocation init sequence to enumerate
+ * pci buses. This is needed, for instance, in the case of DM PCI-based
+ * Ethernet devices, which will not be detected without having the enumeration
+ * performed earlier.
+ *
+ * Return: 0 if OK
+ */
+int pci_init(void);
+
/**
* init_cache_f_r() - Turn on the cache in preparation for relocation
*
int set_cpu_clk_info(void);
int update_flash_size(int flash_size);
int arch_early_init_r(void);
-void pci_init(void);
int misc_init_r(void);
#if defined(CONFIG_VID)
int init_func_vid(void);