€•/MŒsphinx.addnodes”Œdocument”“”)”}”(Œ rawsource”Œ”Œchildren”]”(Œ translations”Œ LanguagesNode”“”)”}”(hhh]”(hŒ pending_xref”“”)”}”(hhh]”Œdocutils.nodes”ŒText”“”ŒChinese (Simplified)”…””}”Œparent”hsbaŒ attributes”}”(Œids”]”Œclasses”]”Œnames”]”Œdupnames”]”Œbackrefs”]”Œ refdomain”Œstd”Œreftype”Œdoc”Œ reftarget”Œ6/translations/zh_CN/driver-api/thermal/cpu-cooling-api”Œmodname”NŒ classname”NŒ refexplicit”ˆuŒtagname”hhh ubh)”}”(hhh]”hŒChinese (Traditional)”…””}”hh2sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ6/translations/zh_TW/driver-api/thermal/cpu-cooling-api”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒItalian”…””}”hhFsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ6/translations/it_IT/driver-api/thermal/cpu-cooling-api”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒJapanese”…””}”hhZsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ6/translations/ja_JP/driver-api/thermal/cpu-cooling-api”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒKorean”…””}”hhnsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ6/translations/ko_KR/driver-api/thermal/cpu-cooling-api”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒPortuguese (Brazilian)”…””}”hh‚sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ6/translations/pt_BR/driver-api/thermal/cpu-cooling-api”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒSpanish”…””}”hh–sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ6/translations/sp_SP/driver-api/thermal/cpu-cooling-api”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubeh}”(h]”h ]”h"]”h$]”h&]”Œcurrent_language”ŒEnglish”uh1h hhŒ _document”hŒsource”NŒline”NubhŒsection”“”)”}”(hhh]”(hŒtitle”“”)”}”(hŒCPU cooling APIs How To”h]”hŒCPU cooling APIs How To”…””}”(hh¼h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhh·h²hh³ŒP/var/lib/git/docbuild/linux/Documentation/driver-api/thermal/cpu-cooling-api.rst”h´KubhŒ paragraph”“”)”}”(hŒ8Written by Amit Daniel Kachhap ”h]”(hŒ Written by Amit Daniel Kachhap <”…””}”(hhÍh²hh³Nh´NubhŒ reference”“”)”}”(hŒamit.kachhap@linaro.org”h]”hŒamit.kachhap@linaro.org”…””}”(hh×h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”Œmailto:amit.kachhap@linaro.org”uh1hÕhhÍubhŒ>”…””}”(hhÍh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´Khh·h²hubhÌ)”}”(hŒUpdated: 6 Jan 2015”h]”hŒUpdated: 6 Jan 2015”…””}”(hhñh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´Khh·h²hubhÌ)”}”(hŒHCopyright (c) 2012 Samsung Electronics Co., Ltd(http://www.samsung.com)”h]”(hŒ1Copyright (c) 2012 Samsung Electronics Co., Ltd(”…””}”(hhÿh²hh³Nh´NubhÖ)”}”(hŒhttp://www.samsung.com”h]”hŒhttp://www.samsung.com”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”j uh1hÕhhÿubhŒ)”…””}”(hhÿh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K hh·h²hubh¶)”}”(hhh]”(h»)”}”(hŒ0. Introduction”h]”hŒ0. Introduction”…””}”(hj#h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhj h²hh³hÊh´K ubhÌ)”}”(hŒäThe generic cpu cooling(freq clipping) provides registration/unregistration APIs to the caller. The binding of the cooling devices to the trip point is left for the user. The registration APIs returns the cooling device pointer.”h]”hŒäThe generic cpu cooling(freq clipping) provides registration/unregistration APIs to the caller. The binding of the cooling devices to the trip point is left for the user. The registration APIs returns the cooling device pointer.”…””}”(hj1h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´Khj h²hubeh}”(h]”Œ introduction”ah ]”h"]”Œ0. introduction”ah$]”h&]”uh1hµhh·h²hh³hÊh´K ubh¶)”}”(hhh]”(h»)”}”(hŒ1. cpu cooling APIs”h]”hŒ1. cpu cooling APIs”…””}”(hjJh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhjGh²hh³hÊh´Kubh¶)”}”(hhh]”(h»)”}”(hŒ,1.1 cpufreq registration/unregistration APIs”h]”hŒ,1.1 cpufreq registration/unregistration APIs”…””}”(hj[h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhjXh²hh³hÊh´KubhŒ block_quote”“”)”}”(hX¹ :: struct thermal_cooling_device *cpufreq_cooling_register(struct cpumask *clip_cpus) This interface function registers the cpufreq cooling device with the name "thermal-cpufreq-%x". This api can support multiple instances of cpufreq cooling devices. clip_cpus: cpumask of cpus where the frequency constraints will happen. :: struct thermal_cooling_device *of_cpufreq_cooling_register(struct cpufreq_policy *policy) This interface function registers the cpufreq cooling device with the name "thermal-cpufreq-%x" linking it with a device tree node, in order to bind it via the thermal DT code. This api can support multiple instances of cpufreq cooling devices. policy: CPUFreq policy. :: void cpufreq_cooling_unregister(struct thermal_cooling_device *cdev) This interface function unregisters the "thermal-cpufreq-%x" cooling device. cdev: Cooling device pointer which has to be unregistered. ”h]”(jj)”}”(hX:: struct thermal_cooling_device *cpufreq_cooling_register(struct cpumask *clip_cpus) This interface function registers the cpufreq cooling device with the name "thermal-cpufreq-%x". This api can support multiple instances of cpufreq cooling devices. ”h]”(hŒ literal_block”“”)”}”(hŒRstruct thermal_cooling_device *cpufreq_cooling_register(struct cpumask *clip_cpus)”h]”hŒRstruct thermal_cooling_device *cpufreq_cooling_register(struct cpumask *clip_cpus)”…””}”hjusbah}”(h]”h ]”h"]”h$]”h&]”Œ xml:space”Œpreserve”uh1jsh³hÊh´KhjoubhÌ)”}”(hŒ¤This interface function registers the cpufreq cooling device with the name "thermal-cpufreq-%x". This api can support multiple instances of cpufreq cooling devices.”h]”hŒ¨This interface function registers the cpufreq cooling device with the name “thermal-cpufreq-%xâ€. This api can support multiple instances of cpufreq cooling devices.”…””}”(hj…h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´Khjoubeh}”(h]”h ]”h"]”h$]”h&]”uh1jih³hÊh´KhjkubhŒdefinition_list”“”)”}”(hhh]”hŒdefinition_list_item”“”)”}”(hXŸclip_cpus: cpumask of cpus where the frequency constraints will happen. :: struct thermal_cooling_device *of_cpufreq_cooling_register(struct cpufreq_policy *policy) This interface function registers the cpufreq cooling device with the name "thermal-cpufreq-%x" linking it with a device tree node, in order to bind it via the thermal DT code. This api can support multiple instances of cpufreq cooling devices. policy: CPUFreq policy. :: void cpufreq_cooling_unregister(struct thermal_cooling_device *cdev) This interface function unregisters the "thermal-cpufreq-%x" cooling device. cdev: Cooling device pointer which has to be unregistered. ”h]”(hŒterm”“”)”}”(hŒ clip_cpus:”h]”hŒ clip_cpus:”…””}”(hj¦h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j¤h³hÊh´K8hj ubhŒ definition”“”)”}”(hhh]”(jj)”}”(hŒ=cpumask of cpus where the frequency constraints will happen. ”h]”hÌ)”}”(hŒ