| .. | .. |
|---|
| 4 | 4 | |
|---|
| 5 | 5 | #include <linux/kernel.h> |
|---|
| 6 | 6 | #include <linux/cpu.h> |
|---|
| 7 | +#include <linux/cpufreq.h> |
|---|
| 8 | +#include <linux/pm_qos.h> |
|---|
| 7 | 9 | #include <linux/thermal.h> |
|---|
| 8 | 10 | #include <asm/acpi.h> |
|---|
| 9 | 11 | |
|---|
| .. | .. |
|---|
| 230 | 232 | struct acpi_processor_limit limit; |
|---|
| 231 | 233 | struct thermal_cooling_device *cdev; |
|---|
| 232 | 234 | struct device *dev; /* Processor device. */ |
|---|
| 235 | + struct freq_qos_request perflib_req; |
|---|
| 236 | + struct freq_qos_request thermal_req; |
|---|
| 233 | 237 | }; |
|---|
| 234 | 238 | |
|---|
| 235 | 239 | struct acpi_processor_errata { |
|---|
| .. | .. |
|---|
| 304 | 308 | /* in processor_perflib.c */ |
|---|
| 305 | 309 | |
|---|
| 306 | 310 | #ifdef CONFIG_CPU_FREQ |
|---|
| 307 | | -void acpi_processor_ppc_init(void); |
|---|
| 308 | | -void acpi_processor_ppc_exit(void); |
|---|
| 311 | +extern bool acpi_processor_cpufreq_init; |
|---|
| 312 | +void acpi_processor_ignore_ppc_init(void); |
|---|
| 313 | +void acpi_processor_ppc_init(struct cpufreq_policy *policy); |
|---|
| 314 | +void acpi_processor_ppc_exit(struct cpufreq_policy *policy); |
|---|
| 309 | 315 | void acpi_processor_ppc_has_changed(struct acpi_processor *pr, int event_flag); |
|---|
| 310 | 316 | extern int acpi_processor_get_bios_limit(int cpu, unsigned int *limit); |
|---|
| 311 | 317 | #else |
|---|
| 312 | | -static inline void acpi_processor_ppc_init(void) |
|---|
| 318 | +static inline void acpi_processor_ignore_ppc_init(void) |
|---|
| 313 | 319 | { |
|---|
| 314 | 320 | return; |
|---|
| 315 | 321 | } |
|---|
| 316 | | -static inline void acpi_processor_ppc_exit(void) |
|---|
| 322 | +static inline void acpi_processor_ppc_init(struct cpufreq_policy *policy) |
|---|
| 323 | +{ |
|---|
| 324 | + return; |
|---|
| 325 | +} |
|---|
| 326 | +static inline void acpi_processor_ppc_exit(struct cpufreq_policy *policy) |
|---|
| 317 | 327 | { |
|---|
| 318 | 328 | return; |
|---|
| 319 | 329 | } |
|---|
| .. | .. |
|---|
| 429 | 439 | int acpi_processor_get_limit_info(struct acpi_processor *pr); |
|---|
| 430 | 440 | extern const struct thermal_cooling_device_ops processor_cooling_ops; |
|---|
| 431 | 441 | #if defined(CONFIG_ACPI_CPU_FREQ_PSS) & defined(CONFIG_CPU_FREQ) |
|---|
| 432 | | -void acpi_thermal_cpufreq_init(void); |
|---|
| 433 | | -void acpi_thermal_cpufreq_exit(void); |
|---|
| 442 | +void acpi_thermal_cpufreq_init(struct cpufreq_policy *policy); |
|---|
| 443 | +void acpi_thermal_cpufreq_exit(struct cpufreq_policy *policy); |
|---|
| 434 | 444 | #else |
|---|
| 435 | | -static inline void acpi_thermal_cpufreq_init(void) |
|---|
| 445 | +static inline void acpi_thermal_cpufreq_init(struct cpufreq_policy *policy) |
|---|
| 436 | 446 | { |
|---|
| 437 | 447 | return; |
|---|
| 438 | 448 | } |
|---|
| 439 | | -static inline void acpi_thermal_cpufreq_exit(void) |
|---|
| 449 | +static inline void acpi_thermal_cpufreq_exit(struct cpufreq_policy *policy) |
|---|
| 440 | 450 | { |
|---|
| 441 | 451 | return; |
|---|
| 442 | 452 | } |
|---|