aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorDurgadoss R <durgadoss.r@intel.com>2012-09-18 01:34:53 -0400
committerZhang Rui <rui.zhang@intel.com>2012-11-05 00:56:32 -0500
commit71350db43b4c5c4da59b729c805f00ff6675b99d (patch)
treeb1fdba40aa6849f4392160ea3e0ff581f30fa6c7 /drivers
parent23064088d6aea049746755e9851760620921a80b (diff)
Thermal: Move thermal_instance to thermal_core.h
This patch creates a thermal_core.h file which can contain all defines used by the core thermal framework files. For now, move the thermal_instance structure to thermal_core.h This structure is used by files under drivers/thermal/. Signed-off-by: Durgadoss R <durgadoss.r@intel.com> Signed-off-by: Zhang Rui <rui.zhang@intel.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/thermal/thermal_core.h53
-rw-r--r--drivers/thermal/thermal_sys.c23
2 files changed, 55 insertions, 21 deletions
diff --git a/drivers/thermal/thermal_core.h b/drivers/thermal/thermal_core.h
new file mode 100644
index 000000000000..0d3205a18112
--- /dev/null
+++ b/drivers/thermal/thermal_core.h
@@ -0,0 +1,53 @@
1/*
2 * thermal_core.h
3 *
4 * Copyright (C) 2012 Intel Corp
5 * Author: Durgadoss R <durgadoss.r@intel.com>
6 *
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; version 2 of the License.
11 *
12 * This program is distributed in the hope that it will be useful, but
13 * WITHOUT ANY WARRANTY; without even the implied warranty of
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15 * General Public License for more details.
16 *
17 * You should have received a copy of the GNU General Public License along
18 * with this program; if not, write to the Free Software Foundation, Inc.,
19 * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
20 *
21 * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
22 */
23
24#ifndef __THERMAL_CORE_H__
25#define __THERMAL_CORE_H__
26
27#include <linux/device.h>
28#include <linux/thermal.h>
29
30/* Initial state of a cooling device during binding */
31#define THERMAL_NO_TARGET -1UL
32
33/*
34 * This structure is used to describe the behavior of
35 * a certain cooling device on a certain trip point
36 * in a certain thermal zone
37 */
38struct thermal_instance {
39 int id;
40 char name[THERMAL_NAME_LENGTH];
41 struct thermal_zone_device *tz;
42 struct thermal_cooling_device *cdev;
43 int trip;
44 unsigned long upper; /* Highest cooling state for this trip point */
45 unsigned long lower; /* Lowest cooling state for this trip point */
46 unsigned long target; /* expected cooling state */
47 char attr_name[THERMAL_NAME_LENGTH];
48 struct device_attribute attr;
49 struct list_head tz_node; /* node in tz->thermal_instances */
50 struct list_head cdev_node; /* node in cdev->thermal_instances */
51};
52
53#endif /* __THERMAL_CORE_H__ */
diff --git a/drivers/thermal/thermal_sys.c b/drivers/thermal/thermal_sys.c
index 9ee42ca4d289..bbc834625f7f 100644
--- a/drivers/thermal/thermal_sys.c
+++ b/drivers/thermal/thermal_sys.c
@@ -37,31 +37,12 @@
37#include <net/netlink.h> 37#include <net/netlink.h>
38#include <net/genetlink.h> 38#include <net/genetlink.h>
39 39
40#include "thermal_core.h"
41
40MODULE_AUTHOR("Zhang Rui"); 42MODULE_AUTHOR("Zhang Rui");
41MODULE_DESCRIPTION("Generic thermal management sysfs support"); 43MODULE_DESCRIPTION("Generic thermal management sysfs support");
42MODULE_LICENSE("GPL"); 44MODULE_LICENSE("GPL");
43 45
44#define THERMAL_NO_TARGET -1UL
45/*
46 * This structure is used to describe the behavior of
47 * a certain cooling device on a certain trip point
48 * in a certain thermal zone
49 */
50struct thermal_instance {
51 int id;
52 char name[THERMAL_NAME_LENGTH];
53 struct thermal_zone_device *tz;
54 struct thermal_cooling_device *cdev;
55 int trip;
56 unsigned long upper; /* Highest cooling state for this trip point */
57 unsigned long lower; /* Lowest cooling state for this trip point */
58 unsigned long target; /* expected cooling state */
59 char attr_name[THERMAL_NAME_LENGTH];
60 struct device_attribute attr;
61 struct list_head tz_node; /* node in tz->thermal_instances */
62 struct list_head cdev_node; /* node in cdev->thermal_instances */
63};
64
65static DEFINE_IDR(thermal_tz_idr); 46static DEFINE_IDR(thermal_tz_idr);
66static DEFINE_IDR(thermal_cdev_idr); 47static DEFINE_IDR(thermal_cdev_idr);
67static DEFINE_MUTEX(thermal_idr_lock); 48static DEFINE_MUTEX(thermal_idr_lock);