[U-Boot] [PATCH v2 04/22] dm: Add a new CPU init function which can use driver model
Bin Meng
bmeng.cn at gmail.com
Mon Mar 9 10:02:33 CET 2015
On Fri, Mar 6, 2015 at 3:25 AM, Simon Glass <sjg at chromium.org> wrote:
> 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 at chromium.org>
> ---
>
> Changes in v2:
> - Add a new patch with a CPU init function which can use driver model
>
> common/board_f.c | 6 ++++++
> include/common.h | 11 +++++++++++
> 2 files changed, 17 insertions(+)
>
> diff --git a/common/board_f.c b/common/board_f.c
> index 4d8b8a6..8bbece2 100644
> --- a/common/board_f.c
> +++ b/common/board_f.c
> @@ -787,6 +787,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,
> @@ -807,6 +812,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
> diff --git a/include/common.h b/include/common.h
> index 77c55c6..f9aaaa5 100644
> --- a/include/common.h
> +++ b/include/common.h
> @@ -253,6 +253,17 @@ 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
> *
> * This is used in generic board init sequence in common/board_f.c. Each
> --
Reviewed-by: Bin Meng <bmeng.cn at gmail.com>
More information about the U-Boot
mailing list