blob: 753e47cc2e2036cd53e176241f579addd3b43ec1 [file] [log] [blame]
Amit Daniel Kachhap02361412012-08-16 17:11:40 +05301CPU cooling APIs How To
2===================================
3
4Written by Amit Daniel Kachhap <amit.kachhap@linaro.org>
5
Javi Merino9477e182015-01-06 18:14:25 +00006Updated: 6 Jan 2015
Amit Daniel Kachhap02361412012-08-16 17:11:40 +05307
8Copyright (c) 2012 Samsung Electronics Co., Ltd(http://www.samsung.com)
9
100. Introduction
11
12The generic cpu cooling(freq clipping) provides registration/unregistration APIs
13to the caller. The binding of the cooling devices to the trip point is left for
14the user. The registration APIs returns the cooling device pointer.
15
161. cpu cooling APIs
17
181.1 cpufreq registration/unregistration APIs
191.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
Javi Merino9477e182015-01-06 18:14:25 +0000281.1.2 struct thermal_cooling_device *of_cpufreq_cooling_register(
29 struct device_node *np, const struct cpumask *clip_cpus)
30
31 This interface function registers the cpufreq cooling device with
32 the name "thermal-cpufreq-%x" linking it with a device tree node, in
33 order to bind it via the thermal DT code. This api can support multiple
34 instances of cpufreq cooling devices.
35
36 np: pointer to the cooling device device tree node
37 clip_cpus: cpumask of cpus where the frequency constraints will happen.
38
391.1.3 void cpufreq_cooling_unregister(struct thermal_cooling_device *cdev)
Amit Daniel Kachhap02361412012-08-16 17:11:40 +053040
41 This interface function unregisters the "thermal-cpufreq-%x" cooling device.
42
43 cdev: Cooling device pointer which has to be unregistered.