Hi Atsushi, On 5/5/07, Atsushi Nemoto <anemo@xxxxxxxxxxxxx> wrote:
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())
Ok, but in this case it seems a bad use of time init hook: the platform seems to use its time init hook to setup the tlb. That sounds pretty hackish, isn't it ? If so, doesn't it mean that we should give the opportunity to platform's code to modify the tlb mapping properly ? Actually I had the same problem with mapped kernels and the only way to solve it was to hack tlb_init()... BTW, do you know why wire_stupidity_into_tlb() is called twice: one time in plat_mem_setup() and a second time in momenco_time_init() ? Note for the former case, tlb_init() hasn't been called yet...
MOMENCO_OCELOT_G: gt64240_time_init() assumes IRQ subsystem are already initialized.
heh ? why not using plat_timer_setup() hook in this case ?
How about keeping board_time_init pointer as is and adding plat_clk_setup only for simple platforms?
Not sure that would force us to duplicate all timekeeping stuff in time_init() hook because of several hacks. If this is really true, let's try to clean up some code. Thanks -- Franck