On Fri, 4 May 2007 17:36:45 +0200, Franck Bui-Huu <vagabon.xyz@xxxxxxxxx> 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