On 07/27/2013 10:59 AM, Daniel Lezcano wrote: > On 07/23/2013 11:01 AM, Deepthi Dharwar wrote: >> This patch enables idle powernv cpu to hook on to the cpuidle >> framework, if available, else call on to default idle platform >> code. > > Why do you need to do that ? > Hi Daniel, Well, this is needed in case when one does not compile with CPU_IDLE config option. When CPUIDLE is not configured, idle cpus are needed to be running some sort of default idle code or loop ( in the worst case) if cpuidle driver is not registered or if one decides not to have that config enabled. Regards, Deepthi > >> Signed-off-by: Deepthi Dharwar <deepthi@xxxxxxxxxxxxxxxxxx> >> --- >> arch/powerpc/platforms/powernv/setup.c | 12 +++++++++++- >> 1 file changed, 11 insertions(+), 1 deletion(-) >> >> diff --git a/arch/powerpc/platforms/powernv/setup.c b/arch/powerpc/platforms/powernv/setup.c >> index 84438af..97d0951 100644 >> --- a/arch/powerpc/platforms/powernv/setup.c >> +++ b/arch/powerpc/platforms/powernv/setup.c >> @@ -25,6 +25,7 @@ >> #include <linux/of.h> >> #include <linux/interrupt.h> >> #include <linux/bug.h> >> +#include <linux/cpuidle.h> >> >> #include <asm/machdep.h> >> #include <asm/firmware.h> >> @@ -196,6 +197,15 @@ static int __init pnv_probe(void) >> return 1; >> } >> >> +void powernv_idle(void) >> +{ >> + /* Hook to cpuidle framework if available, else >> + * call on default platform idle code >> + */ >> + if (cpuidle_idle_call()) >> + power7_idle(); >> +} >> + >> define_machine(powernv) { >> .name = "PowerNV", >> .probe = pnv_probe, >> @@ -205,7 +215,7 @@ define_machine(powernv) { >> .show_cpuinfo = pnv_show_cpuinfo, >> .progress = pnv_progress, >> .machine_shutdown = pnv_shutdown, >> - .power_save = power7_idle, >> + .power_save = powernv_idle, >> .calibrate_decr = generic_calibrate_decr, >> #ifdef CONFIG_KEXEC >> .kexec_cpu_down = pnv_kexec_cpu_down, >> >> -- >> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in >> the body of a message to majordomo@xxxxxxxxxxxxxxx >> More majordomo info at http://vger.kernel.org/majordomo-info.html >> Please read the FAQ at http://www.tux.org/lkml/ >> > >