#define pr_fmt(fmt) …
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/init.h>
#include <linux/cpufreq.h>
#include <linux/slab.h>
#include <linux/acpi.h>
#include <acpi/processor.h>
#ifdef CONFIG_X86
#include <asm/cpufeature.h>
#endif
#define ACPI_PROCESSOR_FILE_PERFORMANCE …
static DEFINE_MUTEX(performance_mutex);
static int ignore_ppc = …;
module_param(ignore_ppc, int, 0644);
MODULE_PARM_DESC(…) …;
static bool acpi_processor_ppc_in_use;
static int acpi_processor_get_platform_limit(struct acpi_processor *pr)
{ … }
#define ACPI_PROCESSOR_NOTIFY_PERFORMANCE …
static void acpi_processor_ppc_ost(acpi_handle handle, int status)
{ … }
void acpi_processor_ppc_has_changed(struct acpi_processor *pr, int event_flag)
{ … }
int acpi_processor_get_bios_limit(int cpu, unsigned int *limit)
{ … }
EXPORT_SYMBOL(…);
void acpi_processor_ignore_ppc_init(void)
{ … }
void acpi_processor_ppc_init(struct cpufreq_policy *policy)
{ … }
void acpi_processor_ppc_exit(struct cpufreq_policy *policy)
{ … }
static int acpi_processor_get_performance_control(struct acpi_processor *pr)
{ … }
#ifdef CONFIG_X86
static void amd_fixup_frequency(struct acpi_processor_px *px, int i)
{ … }
#else
static void amd_fixup_frequency(struct acpi_processor_px *px, int i) {};
#endif
static int acpi_processor_get_performance_states(struct acpi_processor *pr)
{ … }
int acpi_processor_get_performance_info(struct acpi_processor *pr)
{ … }
EXPORT_SYMBOL_GPL(…);
int acpi_processor_pstate_control(void)
{ … }
int acpi_processor_notify_smm(struct module *calling_module)
{ … }
EXPORT_SYMBOL(…);
int acpi_processor_get_psd(acpi_handle handle, struct acpi_psd_package *pdomain)
{ … }
EXPORT_SYMBOL(…);
int acpi_processor_preregister_performance(
struct acpi_processor_performance __percpu *performance)
{ … }
EXPORT_SYMBOL(…);
int acpi_processor_register_performance(struct acpi_processor_performance
*performance, unsigned int cpu)
{ … }
EXPORT_SYMBOL(…);
void acpi_processor_unregister_performance(unsigned int cpu)
{ … }
EXPORT_SYMBOL(…);