Plumb through the change_mode callback from thermal core into thermal_of,
and implement change_mode for the Qualcomm tsens driver.
Supersedes "[PATCH v3] drivers: thermal: tsens: respect thermal_device_mode
in threshold irq reporting". Changelog for that patchset:
Changes in v3:
- Upgraded logging to dev_info_ratelimited and revised log message.
- Remove unrelated hunk.
Some drivers that support thermal zone disabling implement a set_mode
operation and simply disable the sensor or the relevant IRQ(s), so they
actually don't log anything when zones are disabled. These drivers are
imx_thermal.c, intel_quark_dts_thermal.c, and int3400_thermal.c.
For tsens.c, implementing a change_mode would require migrating the driver
from devm_thermal_zone_of_sensor_register to thermal_zone_device_register
(or updating thermal_of.c to add a change_mode operation in thermal_zone_
of_device_ops).
stm_thermal.c seems to use this patch's model of not disabling IRQs when
the zone is disabled (they still perform the thermal_zone_device_update
upon IRQ, but return -EAGAIN from their get_temp).
Changes in v2:
- Reordered sentences in first part of commit message to make sense.
Benjamin Li (2):
thermal: thermal_of: add pass-through change_mode to ops struct
drivers: thermal: tsens: implement change_mode to disable sensor IRQs
drivers/thermal/qcom/tsens.c | 43 ++++++++++++++++++++++++++++++++++--
drivers/thermal/qcom/tsens.h | 4 ++++
drivers/thermal/thermal_of.c | 14 ++++++++++++
include/linux/thermal.h | 2 ++
4 files changed, 61 insertions(+), 2 deletions(-)
--
2.17.1