Merge tag 'thermal-v5.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/thermal...
authorLinus Torvalds <torvalds@linux-foundation.org>
Wed, 8 Apr 2020 03:00:16 +0000 (20:00 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 8 Apr 2020 03:00:16 +0000 (20:00 -0700)
Pull thermal updates from Daniel Lezcano:

 - Convert tsens configuration DT binding to yaml (Rajeshwari)

 - Add interrupt support on the rcar sensor (Niklas Söderlund)

 - Add a new Spreadtrum thermal driver (Baolin Wang)

 - Add thermal binding for the fsl scu board, a new API to retrieve the
   sensor id bound to the thermal zone and i.MX system controller sensor
   (Anson Huang))

 - Remove warning log when a deferred probe is requested on Exynos
   (Marek Szyprowski)

 - Add the thermal monitoring unit support for imx8mm with its DT
   bindings (Anson Huang)

 - Rephrase the Kconfig text for clarity (Linus Walleij)

 - Use the gpio descriptor for the ti-soc-thermal (Linus Walleij)

 - Align msg structure to 4 bytes for i.MX SC, fix the Kconfig
   dependency, add the __may_be unused annotation for PM functions and
   the COMPILE_TEST option for imx8mm (Anson Huang)

 - Fix a dependency on regmap in Kconfig for qoriq (Yuantian Tang)

 - Add DT binding and support for the rcar gen3 r8a77961 and improve the
   error path on the rcar init function (Niklas Söderlund)

 - Cleanup and improvements for the tsens Qcom sensor (Amit Kucheria)

 - Improve code by removing lock and caching values in the rcar thermal
   sensor (Niklas Söderlund)

 - Cleanup in the qoriq drivers and add a call to
   imx_thermal_unregister_legacy_cooling in the removal function (Anson
   Huang)

 - Remove redundant 'maxItems' in tsens and sprd DT bindings (Rob
   Herring)

 - Change the thermal DT bindings by making the cooling-maps optional
   (Yuantian Tang)

 - Add Tiger Lake support (Sumeet Pawnikar)

 - Use scnprintf() for avoiding potential buffer overflow (Takashi Iwai)

 - Make pkg_temp_lock a raw_spinlock_t(Clark Williams)

 - Fix incorrect data types by changing them to signed on i.MX SC (Anson
   Huang)

 - Replace zero-length array with flexible-array member (Gustavo A. R.
   Silva)

 - Add support for i.MX8MP in the driver and in the DT bindings (Anson
   Huang)

 - Fix return value of the cpufreq_set_cur_state() function (Willy
   Wolff)

 - Remove abusing and scary WARN_ON in the cpufreq cooling device
   (Daniel Lezcano)

 - Fix build warning of incorrect argument type reported by sparse on
   imx8mm (Anson Huang)

 - Fix stub for the devfreq cooling device (Martin Blumenstingl)

 - Fix cpu idle cooling documentation (Sergey Vidishev)

* tag 'thermal-v5.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/thermal/linux: (52 commits)
  Documentation: cpu-idle-cooling: Fix diagram for 33% duty cycle
  thermal: devfreq_cooling: inline all stubs for CONFIG_DEVFREQ_THERMAL=n
  thermal: imx8mm: Fix build warning of incorrect argument type
  thermal/drivers/cpufreq_cooling: Remove abusing WARN_ON
  thermal/drivers/cpufreq_cooling: Fix return of cpufreq_set_cur_state
  thermal: imx8mm: Add i.MX8MP support
  dt-bindings: thermal: imx8mm-thermal: Add support for i.MX8MP
  thermal: qcom: tsens.h: Replace zero-length array with flexible-array member
  thermal: imx_sc_thermal: Fix incorrect data type
  thermal: int340x_thermal: Use scnprintf() for avoiding potential buffer overflow
  thermal: int340x: processor_thermal: Add Tiger Lake support
  thermal/x86_pkg_temp: Make pkg_temp_lock a raw_spinlock_t
  dt-bindings: thermal: make cooling-maps property optional
  dt-bindings: thermal: qcom-tsens: Remove redundant 'maxItems'
  dt-bindings: thermal: sprd: Remove redundant 'maxItems'
  thermal: imx: Calling imx_thermal_unregister_legacy_cooling() in .remove
  thermal: qoriq: Sort includes alphabetically
  thermal: qoriq: Use devm_add_action_or_reset() to handle all cleanups
  thermal: rcar_thermal: Remove lock in rcar_thermal_get_current_temp()
  thermal: rcar_thermal: Do not store ctemp in rcar_thermal_priv
  ...

1  2 
Documentation/devicetree/bindings/arm/freescale/fsl,scu.txt
Documentation/devicetree/bindings/thermal/qcom-tsens.yaml
drivers/thermal/cpufreq_cooling.c
drivers/thermal/intel/int340x_thermal/int3400_thermal.c

index 8cac6fafaab08e1be79d7750c2e1a343669fc149,7f42cc37038ec700bbbd58de186bbfda2c375503..623fedf12180d5d0c18b84690450fa45fea881c2
@@@ -164,8 -164,19 +164,19 @@@ Required properties
  - compatible: should be:
                "fsl,imx8qxp-sc-key"
                followed by "fsl,imx-sc-key";
 -- linux,keycodes: See Documentation/devicetree/bindings/input/keys.txt
 +- linux,keycodes: See Documentation/devicetree/bindings/input/input.yaml
  
+ Thermal bindings based on SCU Message Protocol
+ ------------------------------------------------------------
+ Required properties:
+ - compatible:                 Should be :
+                                 "fsl,imx8qxp-sc-thermal"
+                               followed by "fsl,imx-sc-thermal";
+ - #thermal-sensor-cells:      See Documentation/devicetree/bindings/thermal/thermal.txt
+                               for a description.
  Example (imx8qxp):
  -------------
  aliases {
index 4ae8c856c88ededfa67e867c8b8b7fdf5844c6b5,d66791a71320319ee5db026bdf3e895752d274ae..e297e135c031a4f7a7607d9fa14751b94ccc0e50
@@@ -446,19 -443,9 +446,20 @@@ static int cpufreq_set_cur_state(struc
  
        cpufreq_cdev->cpufreq_state = state;
  
 -      ret = freq_qos_update_request(&cpufreq_cdev->qos_req,
 -                                    get_state_freq(cpufreq_cdev, state));
 -      return ret < 0 ? ret : 0;
 +      frequency = get_state_freq(cpufreq_cdev, state);
 +
 +      ret = freq_qos_update_request(&cpufreq_cdev->qos_req, frequency);
 +
 +      if (ret > 0) {
 +              cpus = cpufreq_cdev->policy->cpus;
 +              max_capacity = arch_scale_cpu_capacity(cpumask_first(cpus));
 +              capacity = frequency * max_capacity;
 +              capacity /= cpufreq_cdev->policy->cpuinfo.max_freq;
 +              arch_set_thermal_pressure(cpus, max_capacity - capacity);
++              ret = 0;
 +      }
 +
 +      return ret;
  }
  
  /* Bind cpufreq callbacks to thermal cooling device ops */