cpuidle framework使用的driver:acpi_idle_driver
acpi_processor_driver_init
driver_register(&acpi_processor_driver)
static struct device_driver acpi_processor_driver = {
.name = "processor",
.bus = &cpu_subsys,
.acpi_match_table = processor_device_ids,
.probe = acpi_processor_start,
.remove = acpi_processor_stop,
};
acpi_processor_start
__acpi_processor_start
acpi_processor_power_init
cpuidle_register_driver(&acpi_idle_driver)//注册acpi_idle_driver
__cpuidle_register_driver
__cpuidle_set_driver
per_cpu(cpuidle_drivers, cpu) = drv;//将每个cpu的cpuidle driver设置为acpi_idle_driver
/*进入S state的回调函数集*/
acpi_suspend_ops
acpi_suspend_ops_old