diff options
author | Santosh Shilimkar <santosh.shilimkar@ti.com> | 2013-03-25 06:05:04 -0400 |
---|---|---|
committer | Kevin Hilman <khilman@linaro.org> | 2013-04-09 12:44:49 -0400 |
commit | dbd1ba6a62408520e5c7a024b521af14e71b2987 (patch) | |
tree | a14c6cf92fa2b2fd7af48269ddd725392f218ef4 /arch | |
parent | 0d97558901c446a989de202a5d9ae94ec53644e5 (diff) |
ARM: OMAP4: CPUidle: Avoid double idle driver registration
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>
Signed-off-by: Kevin Hilman <khilman@linaro.org>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arm/mach-omap2/cpuidle44xx.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/arch/arm/mach-omap2/cpuidle44xx.c b/arch/arm/mach-omap2/cpuidle44xx.c index f4b1b234939e..72c5407fdd12 100644 --- a/arch/arm/mach-omap2/cpuidle44xx.c +++ b/arch/arm/mach-omap2/cpuidle44xx.c | |||
@@ -222,14 +222,14 @@ int __init omap4_idle_init(void) | |||
222 | if (!cpu_clkdm[0] || !cpu_clkdm[1]) | 222 | if (!cpu_clkdm[0] || !cpu_clkdm[1]) |
223 | return -ENODEV; | 223 | return -ENODEV; |
224 | 224 | ||
225 | cpuidle_register_driver(&omap4_idle_driver); | ||
226 | |||
225 | for_each_cpu(cpu_id, cpu_online_mask) { | 227 | for_each_cpu(cpu_id, cpu_online_mask) { |
226 | dev = &per_cpu(omap4_idle_dev, cpu_id); | 228 | dev = &per_cpu(omap4_idle_dev, cpu_id); |
227 | dev->cpu = cpu_id; | 229 | dev->cpu = cpu_id; |
228 | #ifdef CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED | 230 | #ifdef CONFIG_ARCH_NEEDS_CPU_IDLE_COUPLED |
229 | dev->coupled_cpus = *cpu_online_mask; | 231 | dev->coupled_cpus = *cpu_online_mask; |
230 | #endif | 232 | #endif |
231 | cpuidle_register_driver(&omap4_idle_driver); | ||
232 | |||
233 | if (cpuidle_register_device(dev)) { | 233 | if (cpuidle_register_device(dev)) { |
234 | pr_err("%s: CPUidle register failed\n", __func__); | 234 | pr_err("%s: CPUidle register failed\n", __func__); |
235 | return -EIO; | 235 | return -EIO; |