summaryrefslogtreecommitdiff
path: root/include/acpi/processor.h
diff options
context:
space:
mode:
authorHuisong Li <lihuisong@huawei.com>2025-07-28 15:06:12 +0800
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2025-09-02 16:08:25 +0200
commit7a8c994cbb2db3c5335cee35fd486557f5aaf7e1 (patch)
tree2ab18f490682cb4d3ab4bbf7785c10c1eb2991e4 /include/acpi/processor.h
parent11b3de1c03fa9f3b5d17e6d48050bc98b3704420 (diff)
ACPI: processor: idle: Optimize ACPI idle driver registration
Currently, the ACPI idle driver is registered from within a CPU hotplug callback. Although this didn't cause any functional issues, this is questionable and confusing. And it is better to register the cpuidle driver when all of the CPUs have been brought up. So add a new function to initialize acpi_idle_driver based on the power management information of an available CPU and register cpuidle driver in acpi_processor_driver_init(). Signed-off-by: Huisong Li <lihuisong@huawei.com> Link: https://patch.msgid.link/20250728070612.1260859-3-lihuisong@huawei.com [ rjw: Added missing inline modifiers ] Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Diffstat (limited to 'include/acpi/processor.h')
-rw-r--r--include/acpi/processor.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/include/acpi/processor.h b/include/acpi/processor.h
index d0eccbd920e5..360b673f05e5 100644
--- a/include/acpi/processor.h
+++ b/include/acpi/processor.h
@@ -423,6 +423,8 @@ int acpi_processor_power_init(struct acpi_processor *pr);
int acpi_processor_power_exit(struct acpi_processor *pr);
int acpi_processor_power_state_has_changed(struct acpi_processor *pr);
int acpi_processor_hotplug(struct acpi_processor *pr);
+void acpi_processor_register_idle_driver(void);
+void acpi_processor_unregister_idle_driver(void);
#else
static inline int acpi_processor_power_init(struct acpi_processor *pr)
{
@@ -443,6 +445,12 @@ static inline int acpi_processor_hotplug(struct acpi_processor *pr)
{
return -ENODEV;
}
+static inline void acpi_processor_register_idle_driver(void)
+{
+}
+static inline void acpi_processor_unregister_idle_driver(void)
+{
+}
#endif /* CONFIG_ACPI_PROCESSOR_IDLE */
/* in processor_thermal.c */