linux/drivers/thermal
Bjorn Andersson 9d216211fd thermal: generic-adc: Fix adc to temp interpolation
First correct the edge case to return the last element if we're
outside the range, rather than at the last element, so that
interpolation is not omitted for points between the two last entries in
the table.

Then correct the formula to perform linear interpolation based the two
points surrounding the read ADC value. The indices for temp are kept as
"hi" and "lo" to pair with the adc indices, but there's no requirement
that the temperature is provided in descendent order. mult_frac() is
used to prevent issues with overflowing the int.

Cc: Laxman Dewangan <ldewangan@nvidia.com>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Signed-off-by: Eduardo Valentin <edubezval@gmail.com>
2019-01-02 04:47:23 -08:00
..
broadcom thermal: broadcom: use devm_thermal_zone_of_sensor_register 2019-01-02 04:47:09 -08:00
int340x_thermal - Error path bug fix for overflow tests (Dan) 2018-06-12 18:28:00 -07:00
qcom thermal: tsens: qcom: do not create duplicate regmap debugfs entries 2019-01-02 04:47:11 -08:00
samsung thermal: samsung: Remove Exynos5440 clock handling left-overs 2018-07-27 16:21:40 -07:00
st thermal: st: fix Makefile typo 2019-01-02 04:47:16 -08:00
tegra thermal: tegra: soctherm: Change to use DEFINE_SHOW_ATTRIBUTE macro 2019-01-02 04:47:14 -08:00
ti-soc-thermal thermal: ti-soc-thermal: remove dead code 2018-07-27 14:43:01 -07:00
armada_thermal.c thermal: armada: add overheat interrupt support 2019-01-02 04:47:17 -08:00
clock_cooling.c thermal: convert clock cooling to use an IDA 2017-01-04 12:47:28 +08:00
cpu_cooling.c cpu_cooling: Drop static-power related stuff 2017-12-07 22:52:01 +01:00
da9062-thermal.c thermal: da9062/61: Prevent hardware access during system suspend 2018-10-25 10:44:55 -07:00
db8500_thermal.c thermal: db8500: Fix module autoload 2016-11-23 10:07:35 +08:00
devfreq_cooling.c trace: thermal: add another parameter 'power' to the tracing function 2017-05-05 15:54:45 +08:00
dove_thermal.c
fair_share.c thermal: fix source code documentation for parameters 2017-06-29 10:46:31 +08:00
gov_bang_bang.c thermal: bang-bang governor: act on lower trip boundary 2016-09-27 14:02:16 +08:00
hisi_thermal.c thermal/drivers/hisi: Add the dual clusters sensors for hi3660 2018-10-22 17:52:11 -07:00
imx_thermal.c thermal: imx: save one condition block for normal case of nvmem initialization 2019-01-02 04:47:12 -08:00
intel_bxt_pmic_thermal.c thermal: bxt: remove redundant variable trip 2017-11-02 16:29:58 +08:00
intel_pch_thermal.c thermal: pch: Add Cannon Lake support 2017-11-02 16:30:44 +08:00
intel_powerclamp.c thermal/intel_powerclamp: Change to use DEFINE_SHOW_ATTRIBUTE macro 2019-01-02 04:47:15 -08:00
intel_quark_dts_thermal.c
intel_soc_dts_iosf.c thermal: Enhance thermal_zone_device_update for events 2016-09-27 14:35:21 +08:00
intel_soc_dts_iosf.h
intel_soc_dts_thermal.c x86/cpu: Sanitize FAM6_ATOM naming 2018-10-02 10:14:32 +02:00
Kconfig thermal: imx: fix for dependency on cpu-freq 2019-01-02 04:47:12 -08:00
kirkwood_thermal.c
Makefile thermal: add stm32 thermal driver 2018-10-25 10:44:52 -07:00
max77620_thermal.c thermal: max77620: fix pinmux conflict on reprobe 2017-06-13 11:07:32 +02:00
mtk_thermal.c thermal: mediatek: use of_device_get_match_data() 2018-05-06 16:53:47 -07:00
of-thermal.c Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/evalenti/linux-soc-thermal 2018-10-26 12:04:29 -07:00
power_allocator.c thermal: power_allocator: fix one race condition issue for thermal_instances list 2017-12-27 10:13:20 +08:00
qcom-spmi-temp-alarm.c thermal: qcom-spmi: Use PMIC thermal stage 2 for critical trip points 2018-08-24 15:59:52 -07:00
qoriq_thermal.c Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/evalenti/linux-soc-thermal 2018-10-26 12:04:29 -07:00
rcar_gen3_thermal.c Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/evalenti/linux-soc-thermal 2018-10-26 12:04:29 -07:00
rcar_thermal.c thermal: rcar_thermal: add R8A77990 support 2019-01-02 04:47:22 -08:00
rockchip_thermal.c thermal: rockchip: Support the RV1108 SoC in thermal driver 2017-10-31 19:32:13 -07:00
spear_thermal.c thermal: spear: use __maybe_unused for PM functions 2016-02-09 14:12:08 -08:00
step_wise.c thermal/drivers/step_wise: Fix temperature regulation misbehavior 2017-10-31 19:32:17 -07:00
tango_thermal.c thermal: tango: Fix module autoload 2016-11-23 10:07:35 +08:00
thermal_core.c thermal: core: using power_efficient_wq for thermal worker 2018-10-10 21:48:50 +08:00
thermal_core.h drivers: thermal: Update license to SPDX format 2018-05-30 14:46:17 +08:00
thermal_helpers.c drivers: thermal: Update license to SPDX format 2018-05-30 14:46:17 +08:00
thermal_hwmon.c thermal_hwmon: Pass the originating device down to hwmon_device_register_with_info 2018-07-27 14:43:21 -07:00
thermal_hwmon.h thermal: hwmon: inline helpers when CONFIG_THERMAL_HWMON is not set 2019-01-02 04:43:00 -08:00
thermal_sysfs.c drivers: thermal: Update license to SPDX format 2018-05-30 14:46:17 +08:00
thermal-generic-adc.c thermal: generic-adc: Fix adc to temp interpolation 2019-01-02 04:47:23 -08:00
uniphier_thermal.c thermal: uniphier: Convert to SPDX identifier 2019-01-02 04:47:16 -08:00
user_space.c thermal: fix source code documentation for parameters 2017-06-29 10:46:31 +08:00
x86_pkg_temp_thermal.c treewide: kzalloc() -> kcalloc() 2018-06-12 16:19:22 -07:00
zx2967_thermal.c thermal: zx2967: constify thermal_zone_of_device_ops structures 2017-08-11 11:38:30 +08:00