On Wednesday, June 27, 2012 06:16:33 PM Srivatsa S. Bhat wrote: > On 06/27/2012 02:37 PM, Daniel Lezcano wrote: > > 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. In order to make it work, the notifier > > must be initialized in the right order, acpi then intel_idle. > > This is done in the Makefile. > > There is a much better way of doing this. See below. > > > This patch has the benefit of > > encapsulating the intel_idle driver and remove some exported > > functions. > > > > Nice :) > > > Signed-off-by: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx> > > --- > > drivers/Makefile | 3 ++- > > drivers/acpi/processor_driver.c | 7 ------- > > drivers/idle/intel_idle.c | 22 ++++++++++++++-------- > > include/linux/cpuidle.h | 7 ------- > > 4 files changed, 16 insertions(+), 23 deletions(-) > > > > diff --git a/drivers/Makefile b/drivers/Makefile > > index 2ba29ff..a2454b8 100644 > > --- a/drivers/Makefile > > +++ b/drivers/Makefile > > @@ -12,8 +12,9 @@ obj-$(CONFIG_PCI) += pci/ > > obj-$(CONFIG_PARISC) += parisc/ > > obj-$(CONFIG_RAPIDIO) += rapidio/ > > obj-y += video/ > > -obj-y += idle/ > > +# acpi must come before idle for initialization > > obj-$(CONFIG_ACPI) += acpi/ > > +obj-y += idle/ > > obj-$(CONFIG_SFI) += sfi/ > > # PnP must come after ACPI since it will eventually need to check if acpi > > # was used and do nothing if so > > OK, so all you are trying to do here is ensure that the intel idle related > notifier runs _after_ the acpi related one. I might oversee something, if you have concerns, please point me to it. If it's all about keeping the order of excuting these functions: acpi_processor_start(pr) and intel_idle_cpu_init() There should be no need for it. Intel idle is pretty separated. Thomas