blob: aa14f765088b58f4ad3f0a6bc6089875c6eb9e01 [file] [log] [blame]
Praveen Chidambaram91814362012-05-25 17:36:07 -06001/*
Duy Truonge833aca2013-02-12 13:35:08 -08002 * Copyright (c) 2012, The Linux Foundation. All rights reserved.
Praveen Chidambaram91814362012-05-25 17:36:07 -06003 *
4 * This program is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License version 2 and
6 * only version 2 as published by the Free Software Foundation.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 */
13
14#ifndef __MSM_THERMAL_H
15#define __MSM_THERMAL_H
16
17struct msm_thermal_data {
18 uint32_t sensor_id;
19 uint32_t poll_ms;
Praveen Chidambaram961dff62013-04-10 09:20:59 -060020 int32_t limit_temp_degC;
21 int32_t temp_hysteresis_degC;
Eugene Seah2ee4a5d2012-06-25 18:16:41 -060022 uint32_t freq_step;
Praveen Chidambaram961dff62013-04-10 09:20:59 -060023 int32_t core_limit_temp_degC;
24 int32_t core_temp_hysteresis_degC;
Praveen Chidambaramf2230442013-02-20 17:42:17 -070025 uint32_t core_control_mask;
Praveen Chidambaram91814362012-05-25 17:36:07 -060026};
27
28#ifdef CONFIG_THERMAL_MONITOR
29extern int msm_thermal_init(struct msm_thermal_data *pdata);
Eugene Seahb77b0c42012-07-02 19:28:50 -060030extern int msm_thermal_device_init(void);
Praveen Chidambaram91814362012-05-25 17:36:07 -060031#else
32static inline int msm_thermal_init(struct msm_thermal_data *pdata)
33{
34 return -ENOSYS;
35}
Eugene Seahb77b0c42012-07-02 19:28:50 -060036static inline int msm_thermal_device_init(void)
37{
38 return -ENOSYS;
39}
Praveen Chidambaram91814362012-05-25 17:36:07 -060040#endif
41
42#endif /*__MSM_THERMAL_H*/