#include <linux/acpi.h>
#include <linux/intel_tcc.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/pci.h>
#include <linux/thermal.h>
#include "int340x_thermal_zone.h"
#include "processor_thermal_device.h"
#include "../intel_soc_dts_iosf.h"
#define DRV_NAME …
#define POWER_LIMIT_SHOW(index, suffix) …
static ssize_t power_floor_status_show(struct device *dev,
struct device_attribute *attr,
char *buf)
{ … }
static ssize_t power_floor_enable_show(struct device *dev,
struct device_attribute *attr,
char *buf)
{ … }
static ssize_t power_floor_enable_store(struct device *dev,
struct device_attribute *attr,
const char *buf, size_t count)
{ … }
POWER_LIMIT_SHOW(…) …
POWER_LIMIT_SHOW(…) …
POWER_LIMIT_SHOW(…) …
POWER_LIMIT_SHOW(…) …
POWER_LIMIT_SHOW(…) …
POWER_LIMIT_SHOW(…) …
POWER_LIMIT_SHOW(…) …
POWER_LIMIT_SHOW(…) …
POWER_LIMIT_SHOW(…) …
POWER_LIMIT_SHOW(…) …
static DEVICE_ATTR_RO(power_limit_0_min_uw);
static DEVICE_ATTR_RO(power_limit_0_max_uw);
static DEVICE_ATTR_RO(power_limit_0_step_uw);
static DEVICE_ATTR_RO(power_limit_0_tmin_us);
static DEVICE_ATTR_RO(power_limit_0_tmax_us);
static DEVICE_ATTR_RO(power_limit_1_min_uw);
static DEVICE_ATTR_RO(power_limit_1_max_uw);
static DEVICE_ATTR_RO(power_limit_1_step_uw);
static DEVICE_ATTR_RO(power_limit_1_tmin_us);
static DEVICE_ATTR_RO(power_limit_1_tmax_us);
static DEVICE_ATTR_RO(power_floor_status);
static DEVICE_ATTR_RW(power_floor_enable);
static struct attribute *power_limit_attrs[] = …;
static umode_t power_limit_attr_visible(struct kobject *kobj, struct attribute *attr, int unused)
{ … }
static const struct attribute_group power_limit_attribute_group = …;
static ssize_t tcc_offset_degree_celsius_show(struct device *dev,
struct device_attribute *attr,
char *buf)
{ … }
static ssize_t tcc_offset_degree_celsius_store(struct device *dev,
struct device_attribute *attr, const char *buf,
size_t count)
{ … }
static DEVICE_ATTR_RW(tcc_offset_degree_celsius);
static int proc_thermal_get_zone_temp(struct thermal_zone_device *zone,
int *temp)
{ … }
static int proc_thermal_read_ppcc(struct proc_thermal_device *proc_priv)
{ … }
#define PROC_POWER_CAPABILITY_CHANGED …
static void proc_thermal_notify(acpi_handle handle, u32 event, void *data)
{ … }
int proc_thermal_add(struct device *dev, struct proc_thermal_device *proc_priv)
{ … }
EXPORT_SYMBOL_GPL(…);
void proc_thermal_remove(struct proc_thermal_device *proc_priv)
{ … }
EXPORT_SYMBOL_GPL(…);
static int tcc_offset_save = …;
int proc_thermal_suspend(struct device *dev)
{ … }
EXPORT_SYMBOL_GPL(…);
int proc_thermal_resume(struct device *dev)
{ … }
EXPORT_SYMBOL_GPL(…);
#define MCHBAR …
static int proc_thermal_set_mmio_base(struct pci_dev *pdev, struct proc_thermal_device *proc_priv)
{ … }
int proc_thermal_mmio_add(struct pci_dev *pdev,
struct proc_thermal_device *proc_priv,
kernel_ulong_t feature_mask)
{ … }
EXPORT_SYMBOL_GPL(…);
void proc_thermal_mmio_remove(struct pci_dev *pdev, struct proc_thermal_device *proc_priv)
{ … }
EXPORT_SYMBOL_GPL(…);
MODULE_IMPORT_NS(…);
MODULE_IMPORT_NS(…);
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;