On Fri, 4 May 2007 17:36:45 +0200, Franck Bui-Huu <vagabon.xyz@gmail.com>
wrote:
> This patch introduces plat_clk_setup() which is a hook that platforms
> can implement to setup clock and mips_hpt_frequency.
>
> This was done by board_time_init function pointer previously.
>
> There are 3 reasons why we should prefer plat_clk_setup() over
> board_time_init:
>
> 1/ There's no need for platforms to initialize a function
> pointer anymore.
>
> 2/ board_time_init was previously initialized in plat_mem_setup()
> which is normally used to setup platform's *memories*.
>
> 3/ plat_clk_setup() is called earlier in boot process. Therefore
> others subsystems can get the time during their initialisation,
> timekeeping subsystem is an example.
Though providing plat_clk_setup() for timekeeping code might be a good
idea, I think your patch break at least those two platforms:
MOMENCO_JAGUAR_ATX: momenco_time_init() assumes tlb_init() was already
called. (wire_stupidity_into_tlb() calls local_flush_tlb_all())
MOMENCO_OCELOT_G: gt64240_time_init() assumes IRQ subsystem are
already initialized.
How about keeping board_time_init pointer as is and adding
plat_clk_setup only for simple platforms?
---
Atsushi Nemoto
|