tree 13c9a1fb56c7e80a917c7cd4737b4d0a2834f62f
parent 2cfa46dadd203eef88cc70131df7a81ebc34b8ff
parent 5f8f06425a0dcdad7bedbb77e67f5c65ab4dacfc
author Linus Torvalds <torvalds@linux-foundation.org> 1593450495 -0700
committer Linus Torvalds <torvalds@linux-foundation.org> 1593450495 -0700
mergetag object 5f8f06425a0dcdad7bedbb77e67f5c65ab4dacfc
 type commit
 tag thermal-v5.8-rc4
 tagger Daniel Lezcano <daniel.lezcano@linaro.org> 1593426045 +0200
 
 - Fix undefined temperature if negative on the rcar_gen3 (Dien Pham)
 
 - Fix wrong frequency converted from power for the cpufreq cooling
   device (Finley Xiao)
 
 - Fix compilation warnings by making functions static in the tsens
   driver (Amit Kucheria)
 
 - Fix return value of sprd_thm_probe for the Spreadtrum driver
   (Tiezhu Yang)
 
 - Fix bank number settings on the Mediatek mt8183 (Michael Kao)
 
 - Fix missing of_node_put() at probe time i.MX (Anson Huang)
 -----BEGIN PGP SIGNATURE-----
 
 iQEzBAABCAAdFiEEGn3N4YVz0WNVyHskqDIjiipP6E8FAl75wVkACgkQqDIjiipP
 6E+l4AgAmwNQWwiPk9yErKXzdUVi4O22y7dbtQ4EVgSI9tUdowXyw61IEaGXKrll
 /j7mZ1JbReJxznil/hVlIT3YK2CqZuApqSNEOZGZ4YsMu5x6nz5GLLVBDGx1/cX3
 k25bcSyhb9oEqjDno/GrpdKXWYd4cmbE4lOmNaOWny3LrpdKCwgazRZ9saRaLCKs
 dgk3qqGLkTxMDqHWhkBEQHmDHmDuP1p5G6TqlhkigYDdfmeg84qBLg9GiBfVqGn1
 t5z4GoK9jiAm1d8CeduQMDZvxRhGVB30V7qHhpvA7EG0kpe1LtakvQd1GvtYllHy
 tigFfUcuJFqCAhEPSW0F923WVZj1dw==
 =ilNd
 -----END PGP SIGNATURE-----

Merge tag 'thermal-v5.8-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/thermal/linux

Pull thermal fixes from Daniel Lezcano:

 - Fix undefined temperature if negative on the rcar_gen3 (Dien Pham)

 - Fix wrong frequency converted from power for the cpufreq cooling
   device (Finley Xiao)

 - Fix compilation warnings by making functions static in the tsens
   driver (Amit Kucheria)

 - Fix return value of sprd_thm_probe for the Spreadtrum driver
   (Tiezhu Yang)

 - Fix bank number settings on the Mediatek mt8183 (Michael Kao)

 - Fix missing of_node_put() at probe time i.MX (Anson Huang)

* tag 'thermal-v5.8-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/thermal/linux:
  thermal/drivers/rcar_gen3: Fix undefined temperature if negative
  thermal/drivers/cpufreq_cooling: Fix wrong frequency converted from power
  thermal/drivers/tsens: Fix compilation warnings by making functions static
  thermal/drivers/sprd: Fix return value of sprd_thm_probe()
  thermal/drivers/mediatek: Fix bank number settings on mt8183
  thermal/drivers: imx: Fix missing of_node_put() at probe time
