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

Lukasz Majewski
2015-02-23T10:13:38Z

Hi Kukjin, Eduardo

> On 01/25/15 06:49, Eduardo Valentin wrote:
> > On Fri, Jan 23, 2015 at 01:09:53PM +0100, Lukasz Majewski wrote:
> >> 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):
> >
> > I have applied the following patches to my -fixes branch (for next
> > rc cycle)
> >
> >> thermal: exynos: cosmetic: Correct comment format
> >> thermal: exynos: Provide thermal_exynos.h file to be included in
> >> device tree files
> >> 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
> >> dts: Documentation: Extending documentation entry for
> >> exynos-thermal dts: Documentation: Update exynos-thermal.txt
> >> example for Exynos5440 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
> >
> > The patches below should go via platform tree:
> >
> >> 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: dts: Add default definition of the TMU sensor
> >> parameter
> >> 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
> >> the one in exynos_tmu_data.c
> >
>
> I've applied above patches with small subject changes.
>
> BTW unfortunately, since missing the
> "include/dt-bindings/thermal/thermal_exynos.h" in my tree, I couldn't
> merge it into for-next yet.

As of this writing: (Kernel 4.0-rc1) the
"include/dt-bindings/thermal/thermal_exynos.h" file is in the kernel
tree.

Kukjin, could you add missing DTS files and send this to upstream.

Thanks in advance.

>
> Can you please provide a topic branch for it? If not, this cannot be
> handled in arm-soc tree in this time, I think.
>
> - Kukjin
>
> >
> > Thanks a lot.
> >
> >>
> >> .../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/sam`sung/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

--
Best regards,

Lukasz Majewski

Samsung R&D Institute Poland (SRPOL) | Linux Platform Group