Daniel Hellstrom wrote:
Signed-off-by: Daniel Hellstrom <daniel@xxxxxxxxxxx> --- arch/sparc/kernel/process_32.c | 12 ++++++++++-- 1 files changed, 10 insertions(+), 2 deletions(-) diff --git a/arch/sparc/kernel/process_32.c b/arch/sparc/kernel/process_32.c index 1752929..c8cc461 100644 --- a/arch/sparc/kernel/process_32.c +++ b/arch/sparc/kernel/process_32.c @@ -128,8 +128,16 @@ void cpu_idle(void) set_thread_flag(TIF_POLLING_NRFLAG); /* endless idle loop with no priority at all */ while(1) { - while (!need_resched()) - cpu_relax(); +#ifdef CONFIG_SPARC_LEON + if (pm_idle) { + while (!need_resched()) + (*pm_idle)(); + } else +#endif + { + while (!need_resched()) + cpu_relax(); + }
I have made this CONFIG_SPARC_LEON because I'm not sure if other SMP SPARC32 supports the pmc idle. One can see from row 109 above that in single-processor pmc_idle() is called in the same mannor, however no for SMP... perhaps it is a meaning with that? I don't want to break anything, if you think is shuold not be ifdeffed I will remove it and repost.
Daniel -- To unsubscribe from this list: send the line "unsubscribe sparclinux" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html