diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-10-12 22:27:59 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-10-12 22:27:59 -0400 |
commit | a3920a6efa158b445b8a39080b463b9b29337425 (patch) | |
tree | 1726a21d317bea8039c1f0f041b7443af76f6ca1 /include/linux/platform_data | |
parent | 18a022de47bc11ee20d7d0f4dd72d42d2cfdc51c (diff) | |
parent | d1d4a81b842db21b144ffd2334ca5eee3eb740f3 (diff) |
Merge branch 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux
Pull ACPI & Thermal updates from Len Brown:
"The generic Linux thermal layer is gaining some new capabilities
(generic cooling via cpufreq) and some new customers (ARM).
Also, an ACPI EC bug fix plus a regression fix."
* 'release' of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux: (30 commits)
tools/power/acpi/acpidump: remove duplicated include from acpidump.c
ACPI idle, CPU hotplug: Fix NULL pointer dereference during hotplug
cpuidle / ACPI: fix potential NULL pointer dereference
ACPI: EC: Add a quirk for CLEVO M720T/M730T laptop
ACPI: EC: Make the GPE storm threshold a module parameter
thermal: Exynos: Fix NULL pointer dereference in exynos_unregister_thermal()
Thermal: Fix bug on cpu_cooling, cooling device's id conflict problem.
thermal: exynos: Use devm_* functions
ARM: exynos: add thermal sensor driver platform data support
thermal: exynos: register the tmu sensor with the kernel thermal layer
thermal: exynos5: add exynos5250 thermal sensor driver support
hwmon: exynos4: move thermal sensor driver to driver/thermal directory
thermal: add generic cpufreq cooling implementation
Fix a build error.
thermal: Fix potential NULL pointer accesses
thermal: add Renesas R-Car thermal sensor support
thermal: fix potential out-of-bounds memory access
Thermal: Introduce locking for cdev.thermal_instances list.
Thermal: Unify the code for both active and passive cooling
Thermal: Introduce simple arbitrator for setting device cooling state
...
Diffstat (limited to 'include/linux/platform_data')
-rw-r--r-- | include/linux/platform_data/exynos_thermal.h (renamed from include/linux/platform_data/exynos4_tmu.h) | 47 |
1 files changed, 40 insertions, 7 deletions
diff --git a/include/linux/platform_data/exynos4_tmu.h b/include/linux/platform_data/exynos_thermal.h index 39e038cca590..a7bdb2f63b73 100644 --- a/include/linux/platform_data/exynos4_tmu.h +++ b/include/linux/platform_data/exynos_thermal.h | |||
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | * exynos4_tmu.h - Samsung EXYNOS4 TMU (Thermal Management Unit) | 2 | * exynos_thermal.h - Samsung EXYNOS TMU (Thermal Management Unit) |
3 | * | 3 | * |
4 | * Copyright (C) 2011 Samsung Electronics | 4 | * Copyright (C) 2011 Samsung Electronics |
5 | * Donggeun Kim <dg77.kim@samsung.com> | 5 | * Donggeun Kim <dg77.kim@samsung.com> |
@@ -19,8 +19,9 @@ | |||
19 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | 19 | * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
20 | */ | 20 | */ |
21 | 21 | ||
22 | #ifndef _LINUX_EXYNOS4_TMU_H | 22 | #ifndef _LINUX_EXYNOS_THERMAL_H |
23 | #define _LINUX_EXYNOS4_TMU_H | 23 | #define _LINUX_EXYNOS_THERMAL_H |
24 | #include <linux/cpu_cooling.h> | ||
24 | 25 | ||
25 | enum calibration_type { | 26 | enum calibration_type { |
26 | TYPE_ONE_POINT_TRIMMING, | 27 | TYPE_ONE_POINT_TRIMMING, |
@@ -28,8 +29,28 @@ enum calibration_type { | |||
28 | TYPE_NONE, | 29 | TYPE_NONE, |
29 | }; | 30 | }; |
30 | 31 | ||
32 | enum soc_type { | ||
33 | SOC_ARCH_EXYNOS4210 = 1, | ||
34 | SOC_ARCH_EXYNOS, | ||
35 | }; | ||
36 | /** | ||
37 | * struct freq_clip_table | ||
38 | * @freq_clip_max: maximum frequency allowed for this cooling state. | ||
39 | * @temp_level: Temperature level at which the temperature clipping will | ||
40 | * happen. | ||
41 | * @mask_val: cpumask of the allowed cpu's where the clipping will take place. | ||
42 | * | ||
43 | * This structure is required to be filled and passed to the | ||
44 | * cpufreq_cooling_unregister function. | ||
45 | */ | ||
46 | struct freq_clip_table { | ||
47 | unsigned int freq_clip_max; | ||
48 | unsigned int temp_level; | ||
49 | const struct cpumask *mask_val; | ||
50 | }; | ||
51 | |||
31 | /** | 52 | /** |
32 | * struct exynos4_tmu_platform_data | 53 | * struct exynos_tmu_platform_data |
33 | * @threshold: basic temperature for generating interrupt | 54 | * @threshold: basic temperature for generating interrupt |
34 | * 25 <= threshold <= 125 [unit: degree Celsius] | 55 | * 25 <= threshold <= 125 [unit: degree Celsius] |
35 | * @trigger_levels: array for each interrupt levels | 56 | * @trigger_levels: array for each interrupt levels |
@@ -63,11 +84,18 @@ enum calibration_type { | |||
63 | * @reference_voltage: reference voltage of amplifier | 84 | * @reference_voltage: reference voltage of amplifier |
64 | * in the positive-TC generator block | 85 | * in the positive-TC generator block |
65 | * 0 <= reference_voltage <= 31 | 86 | * 0 <= reference_voltage <= 31 |
87 | * @noise_cancel_mode: noise cancellation mode | ||
88 | * 000, 100, 101, 110 and 111 can be different modes | ||
89 | * @type: determines the type of SOC | ||
90 | * @efuse_value: platform defined fuse value | ||
66 | * @cal_type: calibration type for temperature | 91 | * @cal_type: calibration type for temperature |
92 | * @freq_clip_table: Table representing frequency reduction percentage. | ||
93 | * @freq_tab_count: Count of the above table as frequency reduction may | ||
94 | * applicable to only some of the trigger levels. | ||
67 | * | 95 | * |
68 | * This structure is required for configuration of exynos4_tmu driver. | 96 | * This structure is required for configuration of exynos_tmu driver. |
69 | */ | 97 | */ |
70 | struct exynos4_tmu_platform_data { | 98 | struct exynos_tmu_platform_data { |
71 | u8 threshold; | 99 | u8 threshold; |
72 | u8 trigger_levels[4]; | 100 | u8 trigger_levels[4]; |
73 | bool trigger_level0_en; | 101 | bool trigger_level0_en; |
@@ -77,7 +105,12 @@ struct exynos4_tmu_platform_data { | |||
77 | 105 | ||
78 | u8 gain; | 106 | u8 gain; |
79 | u8 reference_voltage; | 107 | u8 reference_voltage; |
108 | u8 noise_cancel_mode; | ||
109 | u32 efuse_value; | ||
80 | 110 | ||
81 | enum calibration_type cal_type; | 111 | enum calibration_type cal_type; |
112 | enum soc_type type; | ||
113 | struct freq_clip_table freq_tab[4]; | ||
114 | unsigned int freq_tab_count; | ||
82 | }; | 115 | }; |
83 | #endif /* _LINUX_EXYNOS4_TMU_H */ | 116 | #endif /* _LINUX_EXYNOS_THERMAL_H */ |