dm: Add a new CPU init function which can use driver model
Since driver model is set up after arch_cpu_init(), that function cannot use drivers. Add a new arch_cpu_init_dm() function which is called immediately after driver model is ready, and can reference devices. This can be used to probe essential devices for the CPU. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
This commit is contained in:
parent
31f57c2873
commit
d4c671cc27
@ -815,6 +815,11 @@ __weak int reserve_arch(void)
|
||||
return 0;
|
||||
}
|
||||
|
||||
__weak int arch_cpu_init_dm(void)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
static init_fnc_t init_sequence_f[] = {
|
||||
#ifdef CONFIG_SANDBOX
|
||||
setup_ram_buf,
|
||||
@ -835,6 +840,7 @@ static init_fnc_t init_sequence_f[] = {
|
||||
fdtdec_check_fdt,
|
||||
#endif
|
||||
initf_dm,
|
||||
arch_cpu_init_dm,
|
||||
#if defined(CONFIG_BOARD_EARLY_INIT_F)
|
||||
board_early_init_f,
|
||||
#endif
|
||||
|
@ -252,6 +252,17 @@ static inline int print_cpuinfo(void)
|
||||
int update_flash_size(int flash_size);
|
||||
int arch_early_init_r(void);
|
||||
|
||||
/**
|
||||
* arch_cpu_init_dm() - init CPU after driver model is available
|
||||
*
|
||||
* This is called immediately after driver model is available before
|
||||
* relocation. This is similar to arch_cpu_init() but is able to reference
|
||||
* devices
|
||||
*
|
||||
* @return 0 if OK, -ve on error
|
||||
*/
|
||||
int arch_cpu_init_dm(void);
|
||||
|
||||
/**
|
||||
* Reserve all necessary stacks
|
||||
*
|
||||
|
Loading…
Reference in New Issue
Block a user