blob: de7195b3a18fd08ba14d51d27459712ea4991119 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
|
/* linux/include/linux/exynos_thermal.h
*
* Copyright (c) 2010-2011 Samsung Electronics Co., Ltd.
* http://www.samsung.com
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation.
*/
#ifndef THERMAL_INTERFACE_H
#define THERMAL_INTERFACE_H
/* CPU Zone information */
#define SENSOR_NAME_LEN 16
#define PANIC_ZONE 4
#define WARN_ZONE 3
#define MONITOR_ZONE 2
#define SAFE_ZONE 1
#define NO_ACTION 0
/**
* struct exynos4_tmu_platform_data
* @name: name of the temperature sensor
* @read_temperature: A function pointer to read temperature info
* @private_data: Temperature sensor private data
* @sensor_data: Sensor specific information like trigger temperature, level
*/
struct thermal_sensor_conf {
char name[SENSOR_NAME_LEN];
int (*read_temperature)(void *data);
void *private_data;
void *sensor_data;
};
/**
* exynos4_register_thermal: Register to the exynos thermal interface.
* @sensor_conf: Structure containing temperature sensor information
*
* returns zero on success, else negative errno.
*/
int exynos4_register_thermal(struct thermal_sensor_conf *sensor_conf);
/**
* exynos4_unregister_thermal: Un-register from the exynos thermal interface.
*
* return not applicable.
*/
void exynos4_unregister_thermal(void);
/**
* exynos4_report_trigger: Report any trigger level crossed in the
* temperature sensor. This may be useful to take any cooling action.
*
* return not applicable.
*/
extern void exynos4_report_trigger(void);
#endif
|