drivers: misc: nct: Add support for multiple cdevs
[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 nct_trip_temp {
36         char *cdev_type;
37         long trip_temp;
38         enum thermal_trip_type trip_type;
39         unsigned long state;
40         long hysteresis;
41 };
42
43 #define NCT_MAX_TRIPS (32)
44
45 struct nct1008_platform_data {
46         bool supported_hwrev;
47         bool ext_range;
48         u8 conv_rate;
49         u8 offset;
50         s8 shutdown_ext_limit;
51         s8 shutdown_local_limit;
52
53         int passive_delay;
54
55         int num_trips;
56         struct nct_trip_temp trips[NCT_MAX_TRIPS];
57 };
58 #endif /* _LINUX_NCT1008_H */