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 /Documentation | |
| 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 'Documentation')
| -rw-r--r-- | Documentation/thermal/cpu-cooling-api.txt | 32 | ||||
| -rw-r--r-- | Documentation/thermal/exynos_thermal (renamed from Documentation/hwmon/exynos4_tmu) | 35 | ||||
| -rw-r--r-- | Documentation/thermal/sysfs-api.txt | 9 |
3 files changed, 43 insertions, 33 deletions
diff --git a/Documentation/thermal/cpu-cooling-api.txt b/Documentation/thermal/cpu-cooling-api.txt new file mode 100644 index 000000000000..fca24c931ec8 --- /dev/null +++ b/Documentation/thermal/cpu-cooling-api.txt | |||
| @@ -0,0 +1,32 @@ | |||
| 1 | CPU cooling APIs How To | ||
| 2 | =================================== | ||
| 3 | |||
| 4 | Written by Amit Daniel Kachhap <amit.kachhap@linaro.org> | ||
| 5 | |||
| 6 | Updated: 12 May 2012 | ||
| 7 | |||
| 8 | Copyright (c) 2012 Samsung Electronics Co., Ltd(http://www.samsung.com) | ||
| 9 | |||
| 10 | 0. Introduction | ||
| 11 | |||
| 12 | The generic cpu cooling(freq clipping) provides registration/unregistration APIs | ||
| 13 | to the caller. The binding of the cooling devices to the trip point is left for | ||
| 14 | the user. The registration APIs returns the cooling device pointer. | ||
| 15 | |||
| 16 | 1. cpu cooling APIs | ||
| 17 | |||
| 18 | 1.1 cpufreq registration/unregistration APIs | ||
| 19 | 1.1.1 struct thermal_cooling_device *cpufreq_cooling_register( | ||
| 20 | struct cpumask *clip_cpus) | ||
| 21 | |||
| 22 | This interface function registers the cpufreq cooling device with the name | ||
| 23 | "thermal-cpufreq-%x". This api can support multiple instances of cpufreq | ||
| 24 | cooling devices. | ||
| 25 | |||
| 26 | clip_cpus: cpumask of cpus where the frequency constraints will happen. | ||
| 27 | |||
| 28 | 1.1.2 void cpufreq_cooling_unregister(struct thermal_cooling_device *cdev) | ||
| 29 | |||
| 30 | This interface function unregisters the "thermal-cpufreq-%x" cooling device. | ||
| 31 | |||
| 32 | cdev: Cooling device pointer which has to be unregistered. | ||
diff --git a/Documentation/hwmon/exynos4_tmu b/Documentation/thermal/exynos_thermal index c3c6b41db607..2b46f67b1ccb 100644 --- a/Documentation/hwmon/exynos4_tmu +++ b/Documentation/thermal/exynos_thermal | |||
| @@ -46,36 +46,7 @@ The threshold levels are defined as follows: | |||
| 46 | The threshold and each trigger_level are set | 46 | The threshold and each trigger_level are set |
| 47 | through the corresponding registers. | 47 | through the corresponding registers. |
| 48 | 48 | ||
| 49 | When an interrupt occurs, this driver notify user space of | 49 | When an interrupt occurs, this driver notify kernel thermal framework |
| 50 | one of four threshold levels for the interrupt | 50 | with the function exynos4_report_trigger. |
| 51 | through kobject_uevent_env and sysfs_notify functions. | ||
| 52 | Although an interrupt condition for level_0 can be set, | 51 | Although an interrupt condition for level_0 can be set, |
| 53 | it is not notified to user space through sysfs_notify function. | 52 | it can be used to synchronize the cooling action. |
| 54 | |||
| 55 | Sysfs Interface | ||
| 56 | --------------- | ||
| 57 | name name of the temperature sensor | ||
| 58 | RO | ||
| 59 | |||
| 60 | temp1_input temperature | ||
| 61 | RO | ||
| 62 | |||
| 63 | temp1_max temperature for level_1 interrupt | ||
| 64 | RO | ||
| 65 | |||
| 66 | temp1_crit temperature for level_2 interrupt | ||
| 67 | RO | ||
| 68 | |||
| 69 | temp1_emergency temperature for level_3 interrupt | ||
| 70 | RO | ||
| 71 | |||
| 72 | temp1_max_alarm alarm for level_1 interrupt | ||
| 73 | RO | ||
| 74 | |||
| 75 | temp1_crit_alarm | ||
| 76 | alarm for level_2 interrupt | ||
| 77 | RO | ||
| 78 | |||
| 79 | temp1_emergency_alarm | ||
| 80 | alarm for level_3 interrupt | ||
| 81 | RO | ||
diff --git a/Documentation/thermal/sysfs-api.txt b/Documentation/thermal/sysfs-api.txt index c087dbcf3535..ca1a1a34970e 100644 --- a/Documentation/thermal/sysfs-api.txt +++ b/Documentation/thermal/sysfs-api.txt | |||
| @@ -84,7 +84,8 @@ temperature) and throttle appropriate devices. | |||
| 84 | 84 | ||
| 85 | 1.3 interface for binding a thermal zone device with a thermal cooling device | 85 | 1.3 interface for binding a thermal zone device with a thermal cooling device |
| 86 | 1.3.1 int thermal_zone_bind_cooling_device(struct thermal_zone_device *tz, | 86 | 1.3.1 int thermal_zone_bind_cooling_device(struct thermal_zone_device *tz, |
| 87 | int trip, struct thermal_cooling_device *cdev); | 87 | int trip, struct thermal_cooling_device *cdev, |
| 88 | unsigned long upper, unsigned long lower); | ||
| 88 | 89 | ||
| 89 | This interface function bind a thermal cooling device to the certain trip | 90 | This interface function bind a thermal cooling device to the certain trip |
| 90 | point of a thermal zone device. | 91 | point of a thermal zone device. |
| @@ -93,6 +94,12 @@ temperature) and throttle appropriate devices. | |||
| 93 | cdev: thermal cooling device | 94 | cdev: thermal cooling device |
| 94 | trip: indicates which trip point the cooling devices is associated with | 95 | trip: indicates which trip point the cooling devices is associated with |
| 95 | in this thermal zone. | 96 | in this thermal zone. |
| 97 | upper:the Maximum cooling state for this trip point. | ||
| 98 | THERMAL_NO_LIMIT means no upper limit, | ||
| 99 | and the cooling device can be in max_state. | ||
| 100 | lower:the Minimum cooling state can be used for this trip point. | ||
| 101 | THERMAL_NO_LIMIT means no lower limit, | ||
| 102 | and the cooling device can be in cooling state 0. | ||
| 96 | 103 | ||
| 97 | 1.3.2 int thermal_zone_unbind_cooling_device(struct thermal_zone_device *tz, | 104 | 1.3.2 int thermal_zone_unbind_cooling_device(struct thermal_zone_device *tz, |
| 98 | int trip, struct thermal_cooling_device *cdev); | 105 | int trip, struct thermal_cooling_device *cdev); |
