[U-Boot] [PATCH] board_r: re-order the board_early_init_r()

Kever Yang kever.yang at rock-chips.com
Wed Jul 31 08:58:13 UTC 2019


On 2019/7/31 下午3:23, Matthias Brugger wrote:
>
> On 24/07/2019 14:22, Kever Yang wrote:
>> On 2019/7/24 下午6:22, Simon Goldschmidt wrote:
>>> On Wed, Jul 24, 2019 at 12:01 PM Kever Yang <kever.yang at rock-chips.com> wrote:
>>>> The board_early_init_r() suppose to be called before board_init(),
>>>> then the board callback functions in board_r will be:
>>>> - board_early_init_r()
>>>> - board_init()
>>>> - board_late_init()
>>> Searching through the code, elixir.bootlin.com gives me 52 definitions
>>> of board_early_init_r(). Does this patch break any of those boards
>>> when it changes the order of those calls?
>> I do have check some of the implement and most of them should be OK, but to be
>> honest,
>>
>> I'm don't have any of those boards, and not sure if this break any of them, and
>> I'm not sure
>>
>> if people using this interface have notice it's after the board_init().
>>
>> When I try to use this board_early_init_r(), I thought this is before
>> board_init(), but it actually
>>
>> after the board_init(), that make people confusing.
>>
>> I think the _early_ one should be at the first, isn't it?
> I agree. Maybe we should rename it to board_post_init?
Sorry , do you mean add/rename a board_post_init() for what's done by
board_early_init_r() now and then add/move ad board api before board_init()?
There is a board_late_init(), which is after env init, a new 
board_post_init() seems
not a good idea.


Here is the Kconfig help for BOARD_EARLY_INIT_R, which also means we it 
should
be called before board_init().

config BOARD_EARLY_INIT_R
         bool "Call board-specific init after relocation"
help
           Some boards need to perform initialisation as directly after
           relocation. With this option, U-Boot calls board_early_init_r()
           in the post-relocation init sequence.


Thanks,

- Kever

>
> Regards,
> Matthias
>




More information about the U-Boot mailing list