#include <linux/string_choices.h>
#include <linux/workqueue.h>
#include "pmf.h"
static struct cnqf_config config_store;
#ifdef CONFIG_AMD_PMF_DEBUG
static const char *state_as_str_cnqf(unsigned int state)
{ … }
static void amd_pmf_cnqf_dump_defaults(struct apmf_dyn_slider_output *data, int idx)
{ … }
#else
static void amd_pmf_cnqf_dump_defaults(struct apmf_dyn_slider_output *data, int idx) {}
#endif
static int amd_pmf_set_cnqf(struct amd_pmf_dev *dev, int src, int idx,
struct cnqf_config *table)
{ … }
static void amd_pmf_update_power_threshold(int src)
{ … }
static const char *state_as_str(unsigned int state)
{ … }
static int amd_pmf_cnqf_get_power_source(struct amd_pmf_dev *dev)
{ … }
int amd_pmf_trans_cnqf(struct amd_pmf_dev *dev, int socket_power, ktime_t time_lapsed_ms)
{ … }
static void amd_pmf_update_trans_data(int idx, struct apmf_dyn_slider_output *out)
{ … }
static void amd_pmf_update_mode_set(int idx, struct apmf_dyn_slider_output *out)
{ … }
static int amd_pmf_check_flags(struct amd_pmf_dev *dev)
{ … }
static int amd_pmf_load_defaults_cnqf(struct amd_pmf_dev *dev)
{ … }
static ssize_t cnqf_enable_store(struct device *dev,
struct device_attribute *attr,
const char *buf, size_t count)
{ … }
static ssize_t cnqf_enable_show(struct device *dev,
struct device_attribute *attr,
char *buf)
{ … }
static DEVICE_ATTR_RW(cnqf_enable);
static umode_t cnqf_feature_is_visible(struct kobject *kobj,
struct attribute *attr, int n)
{ … }
static struct attribute *cnqf_feature_attrs[] = …;
const struct attribute_group cnqf_feature_attribute_group = …;
void amd_pmf_deinit_cnqf(struct amd_pmf_dev *dev)
{ … }
int amd_pmf_init_cnqf(struct amd_pmf_dev *dev)
{ … }