Previously thermal policy was driven by choosing which plugins dsme should
use. As the plugins are platform dependant this makes it impossible to use
the same dsme build in multiple platforms. In practice this has meant
that lately the thermal policy has been working only in Jolla phone.
Implement generic thermal sensor plugin that is fully configuration data
driven and can be used to monitor any number of thermal sensors that show
up as text files on for example /sys or /proc filesystems.
The configuration file format is documented at:
Move legacy dbus queries from platform specific plugins to thermal manager.
If suitable thermal objects have been registered, the temperatures can be
queried just like before. Also use dbus constants defined in libdsme
instead of hardcoding method and state names.
Thermal manager now uses polling periods defined in configuration file for
the generic thermal object, but also implements thermal status specific
A graphviz diagram is provided to clarify control flow between the thermal
manager and sensor plugins.
Thermal objects can now be safely unregistered when/if needed. This has
not been a big issue while unregistering has happened only during dsme
exit, but fixing it allows development of features like configuration
reload without restarting dsme.
Drop Jolla phone hw temperature plugins. The functionality can be
implemented via platform specific configuration files.
Drop N9 surface temperature object and battery temperature plugins.
The battery temperature is used only for estimating the device surface
temperature and compiling it requires build-dependency to libbmeipc.
If/when this is needed battery temperature plugin should be build
separately from N9 specific adaptation repository after which the
surface temperature object can be implemeted as configuration entry.
Drop N9 memory temperature object and omap temperature plugins. Since
memory temperature can be read from sysfs file, it can be implemented
as configuration entry if/when needed.
While the thermalobject.c is a new source file, it contains code/logic
copied from the old implementation. For this reason also the relevant
author and copyright information has been copied over from older sources.
[dsme] Implement configurable generic thermal backend. Fixes JB#25904