drivers: misc: therm_est: Refactored therm_est
[linux-2.6.git] / include / linux / therm_est.h
1 /*
2  * include/linux/therm_est.h
3  *
4  * Copyright (c) 2010-2012, NVIDIA Corporation.
5  *
6  * This software is licensed under the terms of the GNU General Public
7  * License version 2, as published by the Free Software Foundation, and
8  * may be copied, distributed, and modified under those terms.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  * GNU General Public License for more details.
14  *
15  */
16
17 #ifndef _LINUX_THERM_EST_H
18 #define _LINUX_THERM_EST_H
19
20 #include <linux/workqueue.h>
21
22 #define HIST_LEN (20)
23
24 struct therm_est_subdevice {
25         void *dev_data;
26         int (*get_temp)(void *, long *);
27         long coeffs[HIST_LEN];
28         long hist[HIST_LEN];
29 };
30
31 struct therm_est_data {
32         long toffset;
33         long polling_period;
34         struct thermal_cooling_device *cdev;
35         long trip_temp;
36         int tc1;
37         int tc2;
38         int passive_delay;
39         int ndevs;
40         struct therm_est_subdevice devs[];
41 };
42
43 #endif /* _LINUX_THERM_EST_H */