Update DEP-5 uri
[debian/omnibook.git] / temperature.c
1 /*
2  * temperature.c -- CPU temprature monitoring
3  * 
4  * This program is free software; you can redistribute it and/or modify it
5  * under the terms of the GNU General Public License as published by the
6  * Free Software Foundation; either version 2, or (at your option) any
7  * later version.
8  * 
9  * This program is distributed in the hope that it will be useful, but
10  * WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12  * General Public License for more details.
13  *
14  * Written by Soós Péter <sp@osb.hu>, 2002-2004
15  * Modified by Mathieu Bérard <mathieu.berard@crans.org>, 2006
16  */
17
18 #include "omnibook.h"
19 #include "hardware.h"
20
21 static int omnibook_temperature_read(char *buffer, struct omnibook_operation *io_op)
22 {
23         int len = 0;
24         int retval;
25         u8 temp;
26
27         if ((retval = backend_byte_read(io_op, &temp)))
28                 return retval;
29
30         len += sprintf(buffer + len, "CPU temperature:            %2d C\n", temp);
31
32         return len;
33 }
34
35 static struct omnibook_tbl temp_table[] __initdata = {
36         {XE3GF | TSP10 | TSM70 | TSM30X | TSX205, SIMPLE_BYTE(EC, XE3GF_CTMP, 0)},
37         {XE3GC | AMILOD, SIMPLE_BYTE(EC, XE3GC_CTMP, 0)},
38         {OB500 | OB510 | OB6000 | OB6100 | XE4500 | XE2, SIMPLE_BYTE(EC, OB500_CTMP, 0)},
39         {OB4150, SIMPLE_BYTE(EC, OB4150_TMP, 0)},
40         {0,}
41 };
42
43 static struct omnibook_feature __declared_feature temperature_driver = {
44         .name = "temperature",
45         .enabled = 1,
46         .read = omnibook_temperature_read,
47         .ectypes =
48             XE3GF | XE3GC | OB500 | OB510 | OB6000 | OB6100 | XE4500 | OB4150 | XE2 | AMILOD | TSP10
49             | TSM70 | TSM30X | TSX205,
50         .tbl = temp_table,
51 };
52
53 module_param_named(temperature, temperature_driver.enabled, int, S_IRUGO);
54 MODULE_PARM_DESC(temperature, "Use 0 to disable, 1 to enable thermal status and policy support");
55 /* End of file */