Message ID | 1364205910-32392-13-git-send-email-santosh.shilimkar@ti.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Santosh Shilimkar <santosh.shilimkar@ti.com> writes: > OMAP4 CPUidle driver registration call is under a loop which leads > to calling cpuidle_register_driver twice which is not intended. > > Fix it by moving the driver registration outside the loop. > > Reported-by: Nishanth Menon <nm@ti.com> > Acked-by: Nishanth Menon <nm@ti.com> > Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com> Looks good. I've already got a for_3.10/fixes/cpuidle branch going, so I'll apply this one there. Kevin
On Thursday 04 April 2013 02:33 AM, Kevin Hilman wrote: > Santosh Shilimkar <santosh.shilimkar@ti.com> writes: > >> OMAP4 CPUidle driver registration call is under a loop which leads >> to calling cpuidle_register_driver twice which is not intended. >> >> Fix it by moving the driver registration outside the loop. >> >> Reported-by: Nishanth Menon <nm@ti.com> >> Acked-by: Nishanth Menon <nm@ti.com> >> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com> > > Looks good. > > I've already got a for_3.10/fixes/cpuidle branch going, so I'll apply > this one there. > ok. Regards, Santosh
diff --git a/arch/arm/mach-omap2/cpuidle44xx.c b/arch/arm/mach-omap2/cpuidle44xx.c index 9de47a7..d00b1ec 100644 --- a/arch/arm/mach-omap2/cpuidle44xx.c +++ b/arch/arm/mach-omap2/cpuidle44xx.c @@ -233,14 +233,14 @@ int __init omap4_idle_init(void) /* Configure the broadcast timer on each cpu */ on_each_cpu(omap_setup_broadcast_timer, NULL, 1); + cpuidle_register_driver(&omap4_idle_driver); + for_each_cpu(cpu_id, cpu_online_mask) { dev = &per_cpu(omap4_idle_dev, cpu_id); dev->cpu = cpu_id; #ifdef CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED dev->coupled_cpus = *cpu_online_mask; #endif - cpuidle_register_driver(&omap4_idle_driver); - if (cpuidle_register_device(dev)) { pr_err("%s: CPUidle register failed\n", __func__); return -EIO;