Hello Rui, Please pull from git://git.kernel.org/pub/scm/linux/kernel/git/evalenti/linux-soc-thermal.git fixes to receive Thermal-SoC Management updates for v3.19 with top-most 9a3031dc3e7a5edfeb52ae8951f8bcd927351854: thermal:core:fix: Check return code of the ->get_max_state() callback (2014-12-08 21:32:56 -0400) on top of 88910638717dd195cff1dd1ea74772b159632bba: Merge tag 'staging-3.18-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging (2014-11-28 16:08:09 -0800) Specifics: - In this pull, I am including a series of fixes that was supposed to make 3.18, but I decided to send them for v3.19. I left for v3.19 because the required changes modified a couple of APIs. Therefore, the redesign had to be done properly. The major fix here is to have proper sequencing between cpufreq layer and cpu cooling registration. A take away of this fix is an improvement in the thermal drivers code. Thermal drivers that require cpu cooling do not need to check for cpufreq layer. The requirement now is to propagate the error code, if any, while registering cpu cooling device. Thanks to Viresh for implementing the required CPUfreq changes. - While in the subject, Viresh took the opportunity to review the cpu cooling code from a cpufreq layer user perspective, which resulted in several cleanups. - The content in this pull depends on CPUfreq refactoring done by Viresh, which is part of the pull sent by Rafael J. W.: https://lkml.org/lkml/2014/12/8/704 BR, ---------------------------------------------------------------- Eduardo Valentin (1): thermal: cpu_cooling: check for the readiness of cpufreq layer Lukasz Majewski (1): thermal:core:fix: Check return code of the ->get_max_state() callback Viresh Kumar (25): thermal: db8500: pass cpu_present_mask to cpufreq_cooling_register() thermal: imx: pass cpu_present_mask to cpufreq_cooling_register() thermal: exynos: pass cpu_present_mask to cpufreq_cooling_register() thermal: cpu_cooling: random comment fixups thermal: cpu_cooling: fix doc comment over struct cpufreq_cooling_device thermal: cpu_cooling: Add comment to clarify relation between cooling state and frequency thermal: cpu_cooling: Pass variable instead of its type to sizeof() thermal: cpu_cooling: no need to set cpufreq_state to zero thermal: cpu_cooling: no need to set cpufreq_dev to NULL thermal: cpu_cooling: no need to initialze 'ret' thermal: cpu_cooling: propagate error returned by idr_alloc() thermal: cpu_cooling: Don't match min/max frequencies for all CPUs on cooling register thermal: cpu_cooling: don't iterate over all allowed_cpus to update cpufreq policy thermal: cpu_cooling: Don't check is_cpufreq_valid() thermal: cpu_cooling: do error handling at the bottom in __cpufreq_cooling_register() thermal: cpu_cooling: initialize 'cpufreq_val' on registration thermal: cpu_cooling: Merge cpufreq_apply_cooling() into cpufreq_set_cur_state() thermal: cpu_cooling: remove unnecessary wrapper get_cpu_frequency() thermal: cpu_cooling: find max level during device registration thermal: cpu_cooling: get_property() doesn't need to support GET_MAXL anymore thermal: cpu_cooling: use cpufreq_dev_list instead of cpufreq_dev_count thermal: cpu_cooling: Pass 'cpufreq_dev' to get_property() thermal: cpu_cooling: Store frequencies in descending order thermal: cpu_cooling: Use cpufreq_dev->freq_table for finding level/freq thermal: cpu_cooling: update copyright tags drivers/thermal/cpu_cooling.c | 360 ++++++++------------- drivers/thermal/db8500_cpufreq_cooling.c | 10 +- drivers/thermal/imx_thermal.c | 9 +- drivers/thermal/samsung/exynos_thermal_common.c | 12 +- drivers/thermal/samsung/exynos_tmu.c | 5 +- drivers/thermal/thermal_core.c | 6 +- drivers/thermal/ti-soc-thermal/ti-thermal-common.c | 6 - 7 files changed, 152 insertions(+), 256 deletions(-)
Attachment:
signature.asc
Description: Digital signature