ARM: tegra: Use new nct interface for cdev bind
[linux-2.6.git] / include / linux / nct1008.h
1 /*
2  * include/linux/nct1008.h
3  *
4  * NCT1008, temperature monitoring device from ON Semiconductors
5  *
6  * Copyright (c) 2010-2012, NVIDIA Corporation.
7  *
8  * This program is free software; you can redistribute it and/or modify
9  * it under the terms of the GNU General Public License as published by
10  * the Free Software Foundation; either version 2 of the License, or
11  * (at your option) any later version.
12  *
13  * This program is distributed in the hope that it will be useful, but WITHOUT
14  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
15  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
16  * more details.
17  *
18  * You should have received a copy of the GNU General Public License along
19  * with this program; if not, write to the Free Software Foundation, Inc.,
20  * 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
21  */
22
23 #ifndef _LINUX_NCT1008_H
24 #define _LINUX_NCT1008_H
25
26 #include <linux/types.h>
27 #include <linux/workqueue.h>
28 #include <linux/thermal.h>
29
30 struct nct1008_data;
31
32 enum nct1008_chip { NCT1008, NCT72 };
33
34
35 struct active_temp_state {
36         long trip_temp;
37         unsigned long state;
38 };
39
40 #define MAX_ACTIVE_TEMP_STATE 16
41
42 struct nct1008_cdev {
43         bool enable;
44         char *type;
45         long trip_temp;
46         long hysteresis;
47         int tc1;
48         int tc2;
49         int passive_delay;
50         struct active_temp_state states[MAX_ACTIVE_TEMP_STATE];
51 };
52
53 struct nct1008_platform_data {
54         bool supported_hwrev;
55         bool ext_range;
56         u8 conv_rate;
57         u8 offset;
58         s8 shutdown_ext_limit;
59         s8 shutdown_local_limit;
60
61         struct nct1008_cdev passive;
62         struct nct1008_cdev active;
63 };
64 #endif /* _LINUX_NCT1008_H */