On Mon, Mar 19, 2012 at 03:01:17PM +0800, Shawn Guo wrote: > On Fri, Mar 09, 2012 at 10:25:00AM -0800, Turquette, Mike wrote: > ... > > However if you have the ability to use the clk_foo_register functions > > please do use them in place of static initialization. The static init > > stuff is only for folks backed into a corner and forced to use it... > > for now. I'm looking at ways to allow for kmalloc'ing in early boot, > > as well as reducing the number of clocks that my platform registers > > during early boot drastically. > > > While I agree using registration functions rather than static > initialization will help make "struct clk" an opaque cookie, I also > see some benefit with using static initialization over registration > functions. That is we will be able to initialize parents statically > rather than calling expensive __clk_lookup() to find them when using > registration functions. > > I'm not sure if this will be a concern with the platforms that have > hundreds of clocks. Keep it in mind, when we say one clock, there > are generally 3 clks behind it, clk_gate, clk_divider and clk_mux.
On an i.MX51 with a fully dynamically allocated clock tree it takes about 10ms to initialize the tree which I think is acceptable. The clock tree is not complete, but I would think that about 70% of the clocks are there. Normally less performant platforms will have less clocks, so I assume the times will be comparable. Sascha -- Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | _______________________________________________ linaro-dev mailing list linaro-dev@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-dev