Message ID | 1365770165-27096-6-git-send-email-daniel.lezcano@linaro.org |
---|---|
State | Accepted |
Commit | 80b1c1999edbba3a411335f1650f0d92da391516 |
Headers | show |
On Fri, Apr 12, 2013 at 2:35 PM, Daniel Lezcano <daniel.lezcano@linaro.org> wrote: > All the drivers are using, in their initialization function, the > for_each_possible_cpu macro. > > Using for_each_online_cpu means the driver must handle the initialization > of the cpuidle device when a cpu is up which is not the case here. > > Change the macro to for_each_possible_cpu as that fix the hotplug > initialization and make the initialization routine consistent with the > rest of the code in the different drivers. > > Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org> Acked-by: Linus Walleij <linus.walleij@linaro.org> Yours, Linus Walleij
On Friday 12 April 2013 06:05 PM, Daniel Lezcano wrote: > All the drivers are using, in their initialization function, the > for_each_possible_cpu macro. > > Using for_each_online_cpu means the driver must handle the initialization > of the cpuidle device when a cpu is up which is not the case here. > > Change the macro to for_each_possible_cpu as that fix the hotplug > initialization and make the initialization routine consistent with the > rest of the code in the different drivers. > > Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org> > --- > arch/arm/mach-ux500/cpuidle.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/arch/arm/mach-ux500/cpuidle.c b/arch/arm/mach-ux500/cpuidle.c > index c29c1bf..5657d4a 100644 > --- a/arch/arm/mach-ux500/cpuidle.c > +++ b/arch/arm/mach-ux500/cpuidle.c > @@ -125,7 +125,7 @@ int __init ux500_idle_init(void) > return ret; > } > > - for_each_online_cpu(cpu) { > + for_each_possible(cpu) { There should no problem with online_cpu() usage as well as long as one is not limmiting number of boot CPUs using the max_cpus option. But I agree making possible_cpu() would take care of that case as well. Regards, Santosh
diff --git a/arch/arm/mach-ux500/cpuidle.c b/arch/arm/mach-ux500/cpuidle.c index c29c1bf..5657d4a 100644 --- a/arch/arm/mach-ux500/cpuidle.c +++ b/arch/arm/mach-ux500/cpuidle.c @@ -125,7 +125,7 @@ int __init ux500_idle_init(void) return ret; } - for_each_online_cpu(cpu) { + for_each_possible(cpu) { device = &per_cpu(ux500_cpuidle_device, cpu); device->cpu = cpu; ret = cpuidle_register_device(device); @@ -139,7 +139,7 @@ out: return ret; out_unregister: - for_each_online_cpu(cpu) { + for_each_possible_cpu(cpu) { device = &per_cpu(ux500_cpuidle_device, cpu); cpuidle_unregister_device(device); }
All the drivers are using, in their initialization function, the for_each_possible_cpu macro. Using for_each_online_cpu means the driver must handle the initialization of the cpuidle device when a cpu is up which is not the case here. Change the macro to for_each_possible_cpu as that fix the hotplug initialization and make the initialization routine consistent with the rest of the code in the different drivers. Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org> --- arch/arm/mach-ux500/cpuidle.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)