On 17/09/2021 09:27, Alexandre Bailon wrote:Because there are no central place where thermal sensor are registered.
This series add a virtual thermal sensor.Why must the drivers do that ?
It could be used to get a temperature using some thermal sensors.
Currently, the supported operations are max, min and avg.
The virtual sensor could be easily extended to support others operations.
Note:
Currently, thermal drivers must explicitly register their sensors to make them
available to the virtual sensor.
This doesn't seem a good solution to me and I think it would be preferable to
update the framework to register the list of each available sensors.
Changes in v2:
- Fix some warnings / errors reported by kernel test robot
- rename some struct and functions with a more accurate name
- update the dt bindings: rename type attribute to aggregation-function
- factorize a little bit the aggregation functions
Alexandre Bailon (2):
dt-bindings: Add bindings for the virtual thermal sensor
thermal: add a virtual sensor to aggregate temperatures
.../thermal/virtual,thermal-sensor.yaml | 67 +++
drivers/thermal/Kconfig | 8 +
drivers/thermal/Makefile | 1 +
drivers/thermal/virtual-sensor.h | 51 +++
drivers/thermal/virtual_sensor.c | 400 ++++++++++++++++++
include/dt-bindings/thermal/virtual-sensor.h | 15 +
6 files changed, 542 insertions(+)
create mode 100644 Documentation/devicetree/bindings/thermal/virtual,thermal-sensor.yaml
create mode 100644 drivers/thermal/virtual-sensor.h
create mode 100644 drivers/thermal/virtual_sensor.c
create mode 100644 include/dt-bindings/thermal/virtual-sensor.h