Skip to content

Commit 559f2ea

Browse files
LiHuiSong1rafaeljw
authored andcommitted
ACPI: processor: Do not expose global variable acpi_idle_driver
Move the cpuidle driver check from __acpi_processor_start() to acpi_processor_power_init() which allows variable acpi_idle_driver to become static. No intentional functional impact. Signed-off-by: Huisong Li <lihuisong@huawei.com> Link: https://patch.msgid.link/20250923032428.2656329-2-lihuisong@huawei.com [ rjw: Subject tweak, new changelog, adjustment of a new comment ] Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
1 parent fbd401e commit 559f2ea

File tree

3 files changed

+9
-4
lines changed

3 files changed

+9
-4
lines changed

drivers/acpi/processor_driver.c

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -166,8 +166,7 @@ static int __acpi_processor_start(struct acpi_device *device)
166166
if (result && !IS_ENABLED(CONFIG_ACPI_CPU_FREQ_PSS))
167167
dev_dbg(&device->dev, "CPPC data invalid or not present\n");
168168

169-
if (cpuidle_get_driver() == &acpi_idle_driver)
170-
acpi_processor_power_init(pr);
169+
acpi_processor_power_init(pr);
171170

172171
acpi_pss_perf_init(pr);
173172

drivers/acpi/processor_idle.c

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ module_param(latency_factor, uint, 0644);
5151

5252
static DEFINE_PER_CPU(struct cpuidle_device *, acpi_cpuidle_device);
5353

54-
struct cpuidle_driver acpi_idle_driver = {
54+
static struct cpuidle_driver acpi_idle_driver = {
5555
.name = "acpi_idle",
5656
.owner = THIS_MODULE,
5757
};
@@ -1404,6 +1404,13 @@ void acpi_processor_power_init(struct acpi_processor *pr)
14041404
{
14051405
struct cpuidle_device *dev;
14061406

1407+
/*
1408+
* The code below only works if the current cpuidle driver is the ACPI
1409+
* idle driver.
1410+
*/
1411+
if (cpuidle_get_driver() != &acpi_idle_driver)
1412+
return;
1413+
14071414
if (disabled_by_idle_boot_param())
14081415
return;
14091416

include/acpi/processor.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -417,7 +417,6 @@ static inline void acpi_processor_throttling_init(void) {}
417417
#endif /* CONFIG_ACPI_CPU_FREQ_PSS */
418418

419419
/* in processor_idle.c */
420-
extern struct cpuidle_driver acpi_idle_driver;
421420
#ifdef CONFIG_ACPI_PROCESSOR_IDLE
422421
void acpi_processor_power_init(struct acpi_processor *pr);
423422
void acpi_processor_power_exit(struct acpi_processor *pr);

0 commit comments

Comments
 (0)