cpufreq: Move governor attribute set headers to cpufreq.h
Move definitions and function headers related to struct gov_attr_set to include/linux/cpufreq.h so they can be used by (future) goverernors located outside of drivers/cpufreq/. No functional changes. Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
This commit is contained in:
parent
2d0c58ad60
commit
66893b6ac9
|
@ -41,19 +41,6 @@
|
||||||
/* Ondemand Sampling types */
|
/* Ondemand Sampling types */
|
||||||
enum {OD_NORMAL_SAMPLE, OD_SUB_SAMPLE};
|
enum {OD_NORMAL_SAMPLE, OD_SUB_SAMPLE};
|
||||||
|
|
||||||
struct gov_attr_set {
|
|
||||||
struct kobject kobj;
|
|
||||||
struct list_head policy_list;
|
|
||||||
struct mutex update_lock;
|
|
||||||
int usage_count;
|
|
||||||
};
|
|
||||||
|
|
||||||
extern const struct sysfs_ops governor_sysfs_ops;
|
|
||||||
|
|
||||||
void gov_attr_set_init(struct gov_attr_set *attr_set, struct list_head *list_node);
|
|
||||||
void gov_attr_set_get(struct gov_attr_set *attr_set, struct list_head *list_node);
|
|
||||||
unsigned int gov_attr_set_put(struct gov_attr_set *attr_set, struct list_head *list_node);
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Abbreviations:
|
* Abbreviations:
|
||||||
* dbs: used as a shortform for demand based switching It helps to keep variable
|
* dbs: used as a shortform for demand based switching It helps to keep variable
|
||||||
|
@ -80,14 +67,6 @@ static inline struct dbs_data *to_dbs_data(struct gov_attr_set *attr_set)
|
||||||
return container_of(attr_set, struct dbs_data, attr_set);
|
return container_of(attr_set, struct dbs_data, attr_set);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Governor's specific attributes */
|
|
||||||
struct governor_attr {
|
|
||||||
struct attribute attr;
|
|
||||||
ssize_t (*show)(struct gov_attr_set *attr_set, char *buf);
|
|
||||||
ssize_t (*store)(struct gov_attr_set *attr_set, const char *buf,
|
|
||||||
size_t count);
|
|
||||||
};
|
|
||||||
|
|
||||||
#define gov_show_one(_gov, file_name) \
|
#define gov_show_one(_gov, file_name) \
|
||||||
static ssize_t show_##file_name \
|
static ssize_t show_##file_name \
|
||||||
(struct gov_attr_set *attr_set, char *buf) \
|
(struct gov_attr_set *attr_set, char *buf) \
|
||||||
|
|
|
@ -462,6 +462,29 @@ void cpufreq_unregister_governor(struct cpufreq_governor *governor);
|
||||||
struct cpufreq_governor *cpufreq_default_governor(void);
|
struct cpufreq_governor *cpufreq_default_governor(void);
|
||||||
struct cpufreq_governor *cpufreq_fallback_governor(void);
|
struct cpufreq_governor *cpufreq_fallback_governor(void);
|
||||||
|
|
||||||
|
/* Governor attribute set */
|
||||||
|
struct gov_attr_set {
|
||||||
|
struct kobject kobj;
|
||||||
|
struct list_head policy_list;
|
||||||
|
struct mutex update_lock;
|
||||||
|
int usage_count;
|
||||||
|
};
|
||||||
|
|
||||||
|
/* sysfs ops for cpufreq governors */
|
||||||
|
extern const struct sysfs_ops governor_sysfs_ops;
|
||||||
|
|
||||||
|
void gov_attr_set_init(struct gov_attr_set *attr_set, struct list_head *list_node);
|
||||||
|
void gov_attr_set_get(struct gov_attr_set *attr_set, struct list_head *list_node);
|
||||||
|
unsigned int gov_attr_set_put(struct gov_attr_set *attr_set, struct list_head *list_node);
|
||||||
|
|
||||||
|
/* Governor sysfs attribute */
|
||||||
|
struct governor_attr {
|
||||||
|
struct attribute attr;
|
||||||
|
ssize_t (*show)(struct gov_attr_set *attr_set, char *buf);
|
||||||
|
ssize_t (*store)(struct gov_attr_set *attr_set, const char *buf,
|
||||||
|
size_t count);
|
||||||
|
};
|
||||||
|
|
||||||
/*********************************************************************
|
/*********************************************************************
|
||||||
* FREQUENCY TABLE HELPERS *
|
* FREQUENCY TABLE HELPERS *
|
||||||
*********************************************************************/
|
*********************************************************************/
|
||||||
|
|
Loading…
Reference in New Issue