#include <linux/bitfield.h>
#include <linux/pci.h>
#include "processor_thermal_device.h"
#define SOC_WT …
#define SOC_WT_PREDICTION_INT_ENABLE_BIT …
#define SOC_WT_PREDICTION_INT_ACTIVE …
static u8 notify_delay = …;
static u16 notify_delay_ms = …;
static DEFINE_MUTEX(wt_lock);
static u8 wt_enable;
static ssize_t workload_type_index_show(struct device *dev,
struct device_attribute *attr,
char *buf)
{ … }
static DEVICE_ATTR_RO(workload_type_index);
static ssize_t workload_hint_enable_show(struct device *dev,
struct device_attribute *attr,
char *buf)
{ … }
static ssize_t workload_hint_enable_store(struct device *dev,
struct device_attribute *attr,
const char *buf, size_t size)
{ … }
static DEVICE_ATTR_RW(workload_hint_enable);
static ssize_t notification_delay_ms_show(struct device *dev,
struct device_attribute *attr,
char *buf)
{ … }
static ssize_t notification_delay_ms_store(struct device *dev,
struct device_attribute *attr,
const char *buf, size_t size)
{ … }
static DEVICE_ATTR_RW(notification_delay_ms);
static struct attribute *workload_hint_attrs[] = …;
static const struct attribute_group workload_hint_attribute_group = …;
bool proc_thermal_check_wt_intr(struct proc_thermal_device *proc_priv)
{ … }
EXPORT_SYMBOL_NS_GPL(…);
void proc_thermal_wt_intr_callback(struct pci_dev *pdev, struct proc_thermal_device *proc_priv)
{ … }
EXPORT_SYMBOL_NS_GPL(…);
static bool workload_hint_created;
int proc_thermal_wt_hint_add(struct pci_dev *pdev, struct proc_thermal_device *proc_priv)
{ … }
EXPORT_SYMBOL_NS_GPL(…);
void proc_thermal_wt_hint_remove(struct pci_dev *pdev)
{ … }
EXPORT_SYMBOL_NS_GPL(…);
MODULE_IMPORT_NS(…);
MODULE_LICENSE(…) …;
MODULE_DESCRIPTION(…) …;