[GIT PULL] thermal-soc management updates for v3.19 #3

From: Eduardo Valentin
Date: Tue Dec 09 2014 - 09:18:18 EST


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