#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/init.h>
#include <linux/cpufreq.h>
#include <linux/cpu.h>
#include <linux/cpuidle.h>
#include <linux/slab.h>
#include <linux/acpi.h>
#include <acpi/processor.h>
#include "internal.h"
#define ACPI_PROCESSOR_NOTIFY_PERFORMANCE …
#define ACPI_PROCESSOR_NOTIFY_POWER …
#define ACPI_PROCESSOR_NOTIFY_THROTTLING …
#define ACPI_PROCESSOR_NOTIFY_HIGEST_PERF_CHANGED …
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;
static int acpi_processor_stop(struct device *dev);
static const struct acpi_device_id processor_device_ids[] = …;
MODULE_DEVICE_TABLE(acpi, processor_device_ids);
static struct device_driver acpi_processor_driver = …;
static void acpi_processor_notify(acpi_handle handle, u32 event, void *data)
{ … }
static int __acpi_processor_start(struct acpi_device *device);
static int acpi_soft_cpu_online(unsigned int cpu)
{ … }
static int acpi_soft_cpu_dead(unsigned int cpu)
{ … }
#ifdef CONFIG_ACPI_CPU_FREQ_PSS
static void acpi_pss_perf_init(struct acpi_processor *pr)
{ … }
#else
static inline void acpi_pss_perf_init(struct acpi_processor *pr) {}
#endif
static int __acpi_processor_start(struct acpi_device *device)
{ … }
static int acpi_processor_stop(struct device *dev)
{ … }
bool acpi_processor_cpufreq_init;
static int acpi_processor_notifier(struct notifier_block *nb,
unsigned long event, void *data)
{ … }
static struct notifier_block acpi_processor_notifier_block = …;
static enum cpuhp_state hp_online;
static int __init acpi_processor_driver_init(void)
{ … }
static void __exit acpi_processor_driver_exit(void)
{ … }
module_init(…) …;
module_exit(acpi_processor_driver_exit);
MODULE_ALIAS(…) …;