RE: [PATCH v4 00/17] thermal: exynos: Thermal code rework to use device tree

Kukjin Kim
2015-01-23T07:42:48Z

Lukasz Majewski wrote:
>
Hi,

> 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.
>
Sounds great to use generic some framework in kernel.

> 2. Patch-set structure
>
> 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.
>
> 3. Dead code removal
>
> Thermal support for some SoCs, previously available in the exynos_tmu_data.c
> file, was removed since, as of (almost) 3.19-rc3, 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)
>
Thanks for your check on the boards...

> 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.
>
I think, Amit can do it on exynos5440 ;)

>
> 5. This work apply on the following tree:
>
> kernel.org: 'linux-soc-thermal/next' - Eduardo Velentin's tree
> SHA1: 1813d80874699145f04af6b05ebab0a6419001fb
>
>
> Lukasz Majewski (17):
> thermal: exynos: cosmetic: Correct comment format
> thermal: exynos: Provide thermal_exynos.h file to be included in
> device tree files
> arm: dts: trats: Enable TMU on the Exynos4210 trats device
> arm: dts: odroid: Add LD010 regulator node necessary for TMU on Odroid
> arm: dts: odroid: Enable TMU at Exynos4412 based Odroid U3 device
> arm: dts: Adding CPU cooling binding for Exynos SoCs
> thermal: exynos: Modify exynos thermal code to use device tree for cpu
> cooling configuration
> thermal: exynos: dts: Add default definition of the TMU sensor
> parameter
> dts: Documentation: Extending documentation entry for exynos-thermal
> 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
> dts: Documentation: Update exynos-thermal.txt example for Exynos5440
> thermal: exynos: dts: Provide device tree bindings identical to the
> 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
>
> .../devicetree/bindings/thermal/exynos-thermal.txt | 17 +
> arch/arm/boot/dts/exynos3250.dtsi | 2 +
> arch/arm/boot/dts/exynos4-cpu-thermal.dtsi | 52 +++
> arch/arm/boot/dts/exynos4.dtsi | 4 +
> arch/arm/boot/dts/exynos4210-trats.dts | 19 +
> arch/arm/boot/dts/exynos4210.dtsi | 30 +-
> 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-trats2.dts | 15 +
> arch/arm/boot/dts/exynos4412.dtsi | 5 +-
> arch/arm/boot/dts/exynos4x12.dtsi | 1 +
> arch/arm/boot/dts/exynos5250.dtsi | 29 +-
> arch/arm/boot/dts/exynos5420-trip-points.dtsi | 35 ++
> arch/arm/boot/dts/exynos5420.dtsi | 28 ++
> arch/arm/boot/dts/exynos5440-tmu-sensor-conf.dtsi | 24 ++
> arch/arm/boot/dts/exynos5440-trip-points.dtsi | 25 ++
> arch/arm/boot/dts/exynos5440.dtsi | 18 +
> drivers/cpufreq/exynos-cpufreq.c | 30 +-
> drivers/thermal/samsung/Makefile | 2 -
> drivers/thermal/samsung/exynos_thermal_common.c | 427 ---------------------
> drivers/thermal/samsung/exynos_thermal_common.h | 106 -----
> drivers/thermal/samsung/exynos_tmu.c | 354 +++++++++++------
> drivers/thermal/samsung/exynos_tmu.h | 68 +---
> drivers/thermal/samsung/exynos_tmu_data.c | 264 -------------
> include/dt-bindings/thermal/thermal_exynos.h | 28 ++
> 26 files changed, 638 insertions(+), 1001 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
>
> --

I hope will apply DT changes in Samsung tree. Is it OK to thermal tree?

Thanks,
Kukjin