€•GLŒ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Œ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”…””}”(hhóhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”hõ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”…””}”(hjhž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.”…””}”(hjhž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”…””}”(hj6hžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h¦hj3hžhhŸh¶h Kubh¢)”}”(hhh]”(h§)”}”(hŒ,1.1 cpufreq registration/unregistration APIs”h]”hŒ,1.1 cpufreq registration/unregistration APIs”…””}”(hjGhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h¦hjDhž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]”(jV)”}”(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)”…””}”hjasbah}”(h]”h ]”h"]”h$]”h&]”Œ xml:space”Œpreserve”uh1j_hŸh¶h Khj[ubh¸)”}”(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.”…””}”(hjqhžhhŸNh Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h·hŸh¶h Khj[ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jUhŸh¶h KhjWubhŒ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&]”uh1jhŸh¶h K8hjŒubhŒ definition”“”)”}”(hhh]”(jV)”}”(hŒ=cpumask of cpus where the frequency constraints will happen. ”h]”h¸)”}”(hŒ