On Tue, Nov 30, 2010 at 04:17:32PM +0530, Amit Kucheria wrote: > Since the main aim here is to consolidate as much code here as > possible while still allowing platforms to override the defaults, > would you have an objection to the introduction of a struct smp_ops > that'll allow a platform to override the defaults? This seems to be > done on other platforms I've briefly looked at.
I see no point to what is being proposed in this thread. It's _soo_ little code that the platforms have to implement that it really is not worth the effort. How do you know whether separating out the cache flushes from the wait-for-interrupt is an acceptable thing to do? On the Realview platforms, I suspect it's not acceptable. That means your attempts to move the cache flusing into a separate function from the wait-for- interrupt will cause problems - as entering a function creates a stack frame, and therefore writes to memory which can hit the cache. Leave it as is. The generic interface for platforms to implement is: platform_do_lowpower() - does whatever's necessary to idle etc the CPU platform_cpu_kill() - returns 1 if there's nothing to be done platform_cpu_disable() - returns 0 if the CPU can be taken offline Trying to get rid of platform_cpu_kill and platform_cpu_disable, and then splitting platform_do_lowpower into three new smaller functions is NOT an improvement. _______________________________________________ linaro-dev mailing list linaro-dev@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-dev