u64 timestamp;
};
-/**
- * struct cpufreq_cooling_device - data for cooling device with cpufreq
- * @id: unique integer value corresponding to each cpufreq_cooling_device
- * registered.
- * @last_load: load measured by the latest call to cpufreq_get_requested_power()
- * @cpufreq_state: integer value representing the current state of cpufreq
- * cooling devices.
- * @clipped_freq: integer value representing the absolute value of the clipped
- * frequency.
- * @max_level: maximum cooling level. One less than total number of valid
- * cpufreq frequencies.
- * @freq_table: Freq table in descending order of frequencies
- * @cdev: thermal_cooling_device pointer to keep track of the
- * registered cooling device.
- * @policy: cpufreq policy.
- * @node: list_head to link all cpufreq_cooling_device together.
- * @idle_time: idle time stats
- * @plat_get_static_power: callback to calculate the static power
- *
- * This structure is required for keeping information of each registered
- * cpufreq_cooling_device.
- */
-struct cpufreq_cooling_device {
- int id;
- u32 last_load;
- unsigned int cpufreq_state;
- unsigned int clipped_freq;
- unsigned int max_level;
- struct freq_table *freq_table; /* In descending order */
- struct thermal_cooling_device *cdev;
- struct cpufreq_policy *policy;
- struct list_head node;
- struct time_in_idle *idle_time;
- get_static_t plat_get_static_power;
-};
-
static DEFINE_IDA(cpufreq_ida);
static DEFINE_MUTEX(cooling_list_lock);
static LIST_HEAD(cpufreq_cdev_list);
typedef int (*get_static_t)(cpumask_t *cpumask, int interval,
unsigned long voltage, u32 *power);
+/**
+ * struct cpufreq_cooling_device - data for cooling device with cpufreq
+ * @id: unique integer value corresponding to each cpufreq_cooling_device
+ * registered.
+ * @last_load: load measured by the latest call to cpufreq_get_requested_power()
+ * @cpufreq_state: integer value representing the current state of cpufreq
+ * cooling devices.
+ * @clipped_freq: integer value representing the absolute value of the clipped
+ * frequency.
+ * @max_level: maximum cooling level. One less than total number of valid
+ * cpufreq frequencies.
+ * @freq_table: Freq table in descending order of frequencies
+ * @cdev: thermal_cooling_device pointer to keep track of the
+ * registered cooling device.
+ * @policy: cpufreq policy.
+ * @node: list_head to link all cpufreq_cooling_device together.
+ * @idle_time: idle time stats
+ * @plat_get_static_power: callback to calculate the static power
+ *
+ * This structure is required for keeping information of each registered
+ * cpufreq_cooling_device.
+ */
+struct cpufreq_cooling_device {
+ int id;
+ u32 last_load;
+ unsigned int cpufreq_state;
+ unsigned int clipped_freq;
+ unsigned int max_level;
+ struct freq_table *freq_table; /* In descending order */
+ struct thermal_cooling_device *cdev;
+ struct cpufreq_policy *policy;
+ struct list_head node;
+ struct time_in_idle *idle_time;
+ get_static_t plat_get_static_power;
+};
+
#ifdef CONFIG_CPU_THERMAL
/**
* cpufreq_cooling_register - function to create cpufreq cooling device.