diff options
author | Daniel Lezcano <daniel.lezcano@linaro.org> | 2012-07-05 09:23:25 -0400 |
---|---|---|
committer | Rafael J. Wysocki <rjw@sisk.pl> | 2012-07-05 16:37:47 -0400 |
commit | 25ac77613aa8fca131599705e3d7da2a0eaa06a0 (patch) | |
tree | 441f714bf32592797d1cf4c6c375e47e324ffded /drivers/acpi | |
parent | 6e797a078824b30afbfae6cc4b1c2b21c51761ef (diff) |
ACPI: intel_idle : break dependency between modules
When the system is booted with some cpus offline, the idle
driver is not initialized. When a cpu is set online, the
acpi code call the intel idle init function. Unfortunately
this code introduce a dependency between intel_idle and acpi.
This patch is intended to remove this dependency by using the
notifier of intel_idle. This patch has the benefit of
encapsulating the intel_idle driver and remove some exported
functions.
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Acked-by: Srivatsa S. Bhat <srivatsa.bhat@linux.vnet.ibm.com>
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Diffstat (limited to 'drivers/acpi')
-rw-r--r-- | drivers/acpi/processor_driver.c | 7 |
1 files changed, 0 insertions, 7 deletions
diff --git a/drivers/acpi/processor_driver.c b/drivers/acpi/processor_driver.c index 0734086537b8..8648b29f6eec 100644 --- a/drivers/acpi/processor_driver.c +++ b/drivers/acpi/processor_driver.c | |||
@@ -427,18 +427,11 @@ static int acpi_cpu_soft_notify(struct notifier_block *nfb, | |||
427 | * Initialize missing things | 427 | * Initialize missing things |
428 | */ | 428 | */ |
429 | if (pr->flags.need_hotplug_init) { | 429 | if (pr->flags.need_hotplug_init) { |
430 | struct cpuidle_driver *idle_driver = | ||
431 | cpuidle_get_driver(); | ||
432 | |||
433 | printk(KERN_INFO "Will online and init hotplugged " | 430 | printk(KERN_INFO "Will online and init hotplugged " |
434 | "CPU: %d\n", pr->id); | 431 | "CPU: %d\n", pr->id); |
435 | WARN(acpi_processor_start(pr), "Failed to start CPU:" | 432 | WARN(acpi_processor_start(pr), "Failed to start CPU:" |
436 | " %d\n", pr->id); | 433 | " %d\n", pr->id); |
437 | pr->flags.need_hotplug_init = 0; | 434 | pr->flags.need_hotplug_init = 0; |
438 | if (idle_driver && !strcmp(idle_driver->name, | ||
439 | "intel_idle")) { | ||
440 | intel_idle_cpu_init(pr->id); | ||
441 | } | ||
442 | /* Normal CPU soft online event */ | 435 | /* Normal CPU soft online event */ |
443 | } else { | 436 | } else { |
444 | acpi_processor_ppc_has_changed(pr, 0); | 437 | acpi_processor_ppc_has_changed(pr, 0); |