#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/init.h>
#include <linux/types.h>
#include <linux/uaccess.h>
#include <linux/thermal.h>
#include <linux/acpi.h>
#include <linux/platform_device.h>
#include <linux/sort.h>
#include "fan.h"
static const struct acpi_device_id fan_device_ids[] = …;
MODULE_DEVICE_TABLE(acpi, fan_device_ids);
static int fan_get_max_state(struct thermal_cooling_device *cdev, unsigned long
*state)
{ … }
int acpi_fan_get_fst(struct acpi_device *device, struct acpi_fan_fst *fst)
{ … }
static int fan_get_state_acpi4(struct acpi_device *device, unsigned long *state)
{ … }
static int fan_get_state(struct acpi_device *device, unsigned long *state)
{ … }
static int fan_get_cur_state(struct thermal_cooling_device *cdev, unsigned long
*state)
{ … }
static int fan_set_state(struct acpi_device *device, unsigned long state)
{ … }
static int fan_set_state_acpi4(struct acpi_device *device, unsigned long state)
{ … }
static int
fan_set_cur_state(struct thermal_cooling_device *cdev, unsigned long state)
{ … }
static const struct thermal_cooling_device_ops fan_cooling_ops = …;
static bool acpi_fan_is_acpi4(struct acpi_device *device)
{ … }
static int acpi_fan_get_fif(struct acpi_device *device)
{ … }
static int acpi_fan_speed_cmp(const void *a, const void *b)
{ … }
static int acpi_fan_get_fps(struct acpi_device *device)
{ … }
static int acpi_fan_probe(struct platform_device *pdev)
{ … }
static void acpi_fan_remove(struct platform_device *pdev)
{ … }
#ifdef CONFIG_PM_SLEEP
static int acpi_fan_suspend(struct device *dev)
{ … }
static int acpi_fan_resume(struct device *dev)
{ … }
static const struct dev_pm_ops acpi_fan_pm = …;
#define FAN_PM_OPS_PTR …
#else
#define FAN_PM_OPS_PTR …
#endif
static struct platform_driver acpi_fan_driver = …;
module_platform_driver(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;