Hi Lukasz, > 1. Introduction > > Following patches aim to clean up the current implementation of the > thermal framework on Exynos devices. > > The main goal was to use a generic code for reading thermal > configuration (of-thermal.c). Due to that redundant > exynos_thermal_common.[h|c] files were removed. > > Around 400 lines of code (LOC) were removed directly by this patch, > which is around 20% of the Exynos thermal code base. > > This work should NOT bring any functional changes to Exynos thermal > subsystem. > > 2. Patch-set structure > > This series starts with extending current of-thermal.c implementation > with exporting information about trip points and support for setting > emulated temperature. Those changes were necessary to reuse this code > in Exynos. > > Then the cpu_cooling functionality has been preserved to allow cooling > devices by reducing operating frequency. Definition of trip points and > cpufreq's cooling properties were moved to device tree. > > Then the rework of the way in which configuration data is provided to > the Exynos thermal subsystem was performed. Now device tree is used > for configuration. > > Patch series end with removing exynos5250/exynos3250 TMU compatibles. > Both SoCs have thermal management unit (TMU) compatible with the one > first introduced at Exynos4412. > > 3. Dead code removal > > Thermal support for some SoCs, previously available in the > exynos_tmu_data.c file, was removed since, as of 3.17-rc6, they > didn't have TMU bindings. > > Moreover, support for cpu_cooling devices was preserved only on those > SoCs which had available and working cpufreq driver. > > 4. Testing > > Test devices: > - Exynos4210 - Trats (TMU zone + cpu_cooling) > - Exynos4412 - Trats2/Odroid U3 (TMU zone + cpu_cooling) > - Exynos5250 - Arndale (TMU zone + cpu_cooling) > - Exynos5420 - Arndale-octa (only TMU zones) > > Unfortunately, I don't posses Exynos5440 for testing. Its > functionality has been preserved in the code, but not tested on the > hardware. I would be grateful for help in testing. > > 5. Prerequisites: > > This work requires following patches developed by Bartlomiej > Zolnierkiewicz: > > 5.1. [PATCH v3] ARM: dts: add CPU nodes for Exynos4 SoCs > http://article.gmane.org/gmane.linux.kernel.samsung-soc/37946/match=patch+v3+arm+dts+add+cpu+nodes+exynos4+socs > > 5.2. First thermal clean up patch set (from patch 1 to 33): > > [PATCH 00/33] thermal: exynos: convert the driver to use per-SoC type > operations > http://article.gmane.org/gmane.linux.kernel.samsung-soc/37642/match=patch+00+33+thermal+exynos+convert+driver+use+per+soc+type+operations > Any comments on this patch set (despite the ones from Chanwoo)? I'm especially wondering if changes introduced to of-thermal.c file are appropriate for mainline. > > Lukasz Majewski (21): > thermal: of: Extend of-thermal.c to provide number of trip points > thermal: of: Extend of-thermal.c to provide check if trip point is > enabled > thermal: of: Extend of-thermal.c to provide number of non critical > trip points > thermal: of: Extend current of-thermal.c code to allow setting > emulated temp > thermal: exynos: cosmetic: Correct comment format > thermal: exynos: Provide thermal_exynos.h file to be included in > device tree files > thermal: dts: trats: Enable TMU on the Exynos4210 trats device > thermal: dts: exynos: Adding LD010 regulator node necessary for TMU > on Odroid U3 board > thermal: dts: Provide bindings and enable TMU at Exynos4x12 devices > thermal: cpu_cooling: dts: Define device tree bindings for Exynos > cpu cooling functionality > thermal: cpu_cooling: Modify exynos thermal code to use device tree > for cpu cooling configuration > thermal: exynos: dts: Add default definition for the TMU sensor > thermal: dts: Default trip points definition for Exynos5420 SoCs > thermal: exynos: dts: Define default thermal-zones for Exynos4 > thermal: dts: exynos: Trip points and sensor configuration data for > Exynos5440 > thermal: exynos: dts: Provide device tree bindings identical to one > in exynos_tmu_data.c > thermal: samsung: core: Exynos TMU rework to use device tree for > configuration > thermal: exynos: Remove exynos_thermal_common.[c|h] files > thermal: exynos: Remove exynos_tmu_data.c file > thermal: exynos: Make Exynos5250 TMU compatible with Exynos4412 > thermal: exynos: Make Exynos3250 TMU compatible with Exynos4412 > > arch/arm/boot/dts/exynos4-cpu-thermal.dtsi | 52 +++ > arch/arm/boot/dts/exynos4.dtsi | 5 + > arch/arm/boot/dts/exynos4210-trats.dts | 19 + > arch/arm/boot/dts/exynos4210.dtsi | 28 +- > arch/arm/boot/dts/exynos4212.dtsi | 5 +- > arch/arm/boot/dts/exynos4412-odroid-common.dtsi | 27 ++ > arch/arm/boot/dts/exynos4412-tmu-sensor-conf.dtsi | 24 ++ > arch/arm/boot/dts/exynos4412.dtsi | 5 +- > arch/arm/boot/dts/exynos4x12.dtsi | 13 + > arch/arm/boot/dts/exynos5250.dtsi | 29 +- > arch/arm/boot/dts/exynos5420-trip-points.dtsi | 35 ++ > arch/arm/boot/dts/exynos5420.dtsi | 33 ++ > arch/arm/boot/dts/exynos5440-tmu-sensor-conf.dtsi | 25 ++ > arch/arm/boot/dts/exynos5440-trip-points.dtsi | 25 ++ > arch/arm/boot/dts/exynos5440.dtsi | 18 + > drivers/cpufreq/exynos-cpufreq.c | 23 +- > drivers/thermal/of-thermal.c | 52 ++- > drivers/thermal/samsung/Makefile | 2 - > drivers/thermal/samsung/exynos_thermal_common.c | 430 > ---------------------- > drivers/thermal/samsung/exynos_thermal_common.h | 106 ------ > drivers/thermal/samsung/exynos_tmu.c | 283 > +++++++------- drivers/thermal/samsung/exynos_tmu.h | > 79 +--- drivers/thermal/samsung/exynos_tmu_data.c | 264 > ------------- drivers/thermal/thermal_core.h | 15 > + include/dt-bindings/thermal/thermal_exynos.h | 40 ++ > include/linux/thermal.h | 6 +- 26 files > changed, 623 insertions(+), 1020 deletions(-) create mode 100644 > arch/arm/boot/dts/exynos4-cpu-thermal.dtsi create mode 100644 > arch/arm/boot/dts/exynos4412-tmu-sensor-conf.dtsi create mode 100644 > arch/arm/boot/dts/exynos5420-trip-points.dtsi create mode 100644 > arch/arm/boot/dts/exynos5440-tmu-sensor-conf.dtsi create mode 100644 > arch/arm/boot/dts/exynos5440-trip-points.dtsi delete mode 100644 > drivers/thermal/samsung/exynos_thermal_common.c delete mode 100644 > drivers/thermal/samsung/exynos_thermal_common.h delete mode 100644 > drivers/thermal/samsung/exynos_tmu_data.c create mode 100644 > include/dt-bindings/thermal/thermal_exynos.h > -- Best regards, Lukasz Majewski Samsung R&D Institute Poland (SRPOL) | Linux Platform Group -- To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html