Skip to content

thermal: exynos: Thermal code rework to use device tree

Lukasz Majewski linux-arm-kernel linux-pm linux-samsung-soc lkml 6 versions – In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v6 Latest18 patches 15 repliesIn review
  2. v518 patches 15 repliesSuperseded
  3. v417 patches 7 repliesSuperseded
Earlier versions · 3
VersionPostedPatchesRepliesStatus
v316 patches19 repliesSuperseded
v217 patches19 repliesSuperseded
v10 of 21 patches0 repliesSuperseded

Patches in v6 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/18thermal: exynos: cosmetic: Correct comment formatdrivers/thermal/samsung/exynos_tmu.c+1 -10 replies
2/18thermal: exynos: Provide thermal_exynos.h file to be included in device tree filesdrivers/thermal/samsung/exynos_tmu.h include/dt-bindings/thermal/thermal_exynos.h+31 -90 replies
3/18arm: dts: trats: Enable TMU on the Exynos4210 trats devicearch/arm/boot/dts/exynos4210-trats.dts+4 -00 replies
4/18arm: dts: odroid: Add LDO10 regulator node necessary for TMU on Odroidarch/arm/boot/dts/exynos4412-odroid-common.dtsi+7 -00 replies
5/18arm: dts: odroid: Enable TMU at Exynos4412 based Odroid U3 devicearch/arm/boot/dts/exynos4412-odroid-common.dtsi+5 -01 reply
6/18arm: dts: Adding CPU cooling binding for Exynos SoCsarch/arm/boot/dts/exynos4210-trats.dts arch/arm/boot/dts/exynos4210.dtsi arch/arm/boot/dts/exynos4212.dtsi +4 more+76 -40 replies
7/18thermal: exynos: Modify exynos thermal code to use device tree for cpu cooling configurationdrivers/thermal/samsung/exynos_thermal_common.c drivers/thermal/samsung/exynos_tmu.c drivers/thermal/samsung/exynos_tmu.h +1 more+73 -1030 replies
8/18cpufreq: exynos: Use device tree to determine if cpufreq cooling should be registereddrivers/cpufreq/exynos-cpufreq.c+32 -113 replies
9/18thermal: exynos: dts: Add default definition of the TMU sensor parameterarch/arm/boot/dts/exynos4412-tmu-sensor-conf.dtsi+24 -00 replies
10/18dts: Documentation: Extending documentation entry for exynos-thermalDocumentation/devicetree/bindings/thermal/exynos-thermal.txt+16 -00 replies
11/18thermal: dts: Default trip points definition for Exynos5420 SoCsarch/arm/boot/dts/exynos5420-trip-points.dtsi+35 -00 replies
12/18thermal: exynos: dts: Define default thermal-zones for Exynos4arch/arm/boot/dts/exynos4-cpu-thermal.dtsi+52 -00 replies
13/18thermal: dts: exynos: Trip points and sensor configuration data for Exynos5440arch/arm/boot/dts/exynos5440-tmu-sensor-conf.dtsi arch/arm/boot/dts/exynos5440-trip-points.dtsi+49 -00 replies
14/18dts: Documentation: Update exynos-thermal.txt example for Exynos5440Documentation/devicetree/bindings/thermal/exynos-thermal.txt+1 -00 replies
15/18thermal: exynos: dts: Provide device tree bindings identical to the one in exynos_tmu_data.carch/arm/boot/dts/exynos3250.dtsi arch/arm/boot/dts/exynos4.dtsi arch/arm/boot/dts/exynos4210.dtsi +4 more+84 -30 replies
16/18thermal: samsung: core: Exynos TMU rework to use device tree for configurationdrivers/thermal/samsung/Makefile drivers/thermal/samsung/exynos_tmu.c drivers/thermal/samsung/exynos_tmu.h+220 -1820 replies
17/18thermal: exynos: Remove exynos_thermal_common.[c|h] filesdrivers/thermal/samsung/exynos_thermal_common.c drivers/thermal/samsung/exynos_thermal_common.h+0 -5510 replies
18/18thermal: exynos: Remove exynos_tmu_data.c filedrivers/thermal/samsung/exynos_tmu_data.c+0 -2280 replies

Reviews trailers per patch

1 of 18 patches has a Reviewed-by or Acked-by.

PatchViresh Kumar
1/18
2/18
3/18
4/18
5/18
6/18
7/18
8/18A-b A-b
9/18
10/18
11/18
12/18
13/18
14/18
15/18
16/18
17/18
18/18

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.

Read the v6 thread

Cover letter [PATCH v6 00/18] thermal: exynos: Thermal code rework to use device tree

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

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)

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. This work apply on the following tree:

kernel.org: 'linux-soc-thermal/next' - Eduardo Velentin's tree
SHA1: 1813d80874699145f04af6b05ebab0a6419001fb

Lukasz Majewski (18):
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 LDO10 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
cpufreq: exynos: Use device tree to determine if cpufreq cooling
should be registered
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                   |  33 +-
 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               | 348 +++++++++++------
 drivers/thermal/samsung/exynos_tmu.h               |  76 +---
 drivers/thermal/samsung/exynos_tmu_data.c          | 264 -------------
 include/dt-bindings/thermal/thermal_exynos.h       |  28 ++
 26 files changed, 636 insertions(+), 1008 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
Signature · 1 line
2.0.0.rc2