.. | .. |
---|
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 | } |
---|