Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Revert "ACPI: processor: Do not expose global variable acpi_idle_driver"

Revert commit 559f2eacc8a2 ACPI: processor: Do not expose global variable
acpi_idle_driver" because it depends on a problematic one.

Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>

+4 -9
+2 -1
drivers/acpi/processor_driver.c
··· 166 166 if (result && !IS_ENABLED(CONFIG_ACPI_CPU_FREQ_PSS)) 167 167 dev_dbg(&device->dev, "CPPC data invalid or not present\n"); 168 168 169 - acpi_processor_power_init(pr); 169 + if (cpuidle_get_driver() == &acpi_idle_driver) 170 + acpi_processor_power_init(pr); 170 171 171 172 acpi_pss_perf_init(pr); 172 173
+1 -8
drivers/acpi/processor_idle.c
··· 51 51 52 52 static DEFINE_PER_CPU(struct cpuidle_device *, acpi_cpuidle_device); 53 53 54 - static struct cpuidle_driver acpi_idle_driver = { 54 + struct cpuidle_driver acpi_idle_driver = { 55 55 .name = "acpi_idle", 56 56 .owner = THIS_MODULE, 57 57 }; ··· 1403 1403 void acpi_processor_power_init(struct acpi_processor *pr) 1404 1404 { 1405 1405 struct cpuidle_device *dev; 1406 - 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 1406 1414 1407 if (disabled_by_idle_boot_param()) 1415 1408 return;
+1
include/acpi/processor.h
··· 417 417 #endif /* CONFIG_ACPI_CPU_FREQ_PSS */ 418 418 419 419 /* in processor_idle.c */ 420 + extern struct cpuidle_driver acpi_idle_driver; 420 421 #ifdef CONFIG_ACPI_PROCESSOR_IDLE 421 422 void acpi_processor_power_init(struct acpi_processor *pr); 422 423 void acpi_processor_power_exit(struct acpi_processor *pr);