[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20210819123215.591593-1-abailon@baylibre.com>
Date: Thu, 19 Aug 2021 14:32:13 +0200
From: Alexandre Bailon <abailon@...libre.com>
To: rui.zhang@...el.com, daniel.lezcano@...aro.org, amitk@...nel.org
Cc: linux-pm@...r.kernel.org, linux-kernel@...r.kernel.org,
ben.tseng@...iatek.com, khilman@...libre.com,
Alexandre Bailon <abailon@...libre.com>
Subject: [RFC PATCH 0/2] Add a generic virtual thermal sensor
This series add a virtual thermal sensor that uses the hardware thermal sensors,
aggregate them to return a temperature.
My first aptempt was to do the aggregation in the thermal zone but it was not
that easy to do, and, there were some case that would have been conflictual
such as setting differents trip for a regular zone and a multisensor zone.
Instead, I made a virtual thermal sensor that could registered in a thermal
zone, and have its own properties.
It could be added in the device tree, with the list of sensors to aggregate,
and the type of aggregation to be done.
As example:
soc_max_sensor: soc_max_sensor {
compatible = "generic,thermal-aggregator";
#thermal-sensor-cells = <1>;
type = "max";
thermal-sensors = <&lvts 0>, <&lvts 1>, <&lvts 2>, <&lvts 3>,
<&lvts 4>, <&lvts 5>, <&lvts 6>, <&lvts 7>,
<&lvts 8>, <&lvts 9>, <&lvts 10>, <&lvts 11>,
<&lvts 12>, <&lvts 13>, <&lvts 14>, <&lvts 15>,
<&lvts 16>;
};
The current series build and work but it would require to be completed
aswell a lot of cleanup.
Before working on it, I would like to get some feedback and I know if that
would an acceptable solution and continue that way.
Follows the following discussion:
https://patchwork.kernel.org/project/linux-mediatek/patch/20210617114707.10618-3-ben.tseng@mediatek.com/
Alexandre Bailon (2):
thermal: provide a way to get thermal sensor from a device tree node
thermal: add a virtual sensor to aggregate temperatures
drivers/thermal/Kconfig | 8 ++
drivers/thermal/Makefile | 1 +
drivers/thermal/thermal_aggregator.c | 134 +++++++++++++++++++++++++++
drivers/thermal/thermal_of.c | 43 +++++++++
include/linux/thermal.h | 12 +++
5 files changed, 198 insertions(+)
create mode 100644 drivers/thermal/thermal_aggregator.c
--
2.31.1
Powered by blists - more mailing lists