[thermal: thermal/next] iio: adc: qcom-vadc-common: simplify qcom_vadc_map_voltage_temp
From: thermal-bot for Dmitry Baryshkov <hidden>
Date: 2021-02-18 20:43:10
Subsystem:
arm/qualcomm mailing list, iio subsystem and drivers, the rest · Maintainers:
Jonathan Cameron, Linus Torvalds
The following commit has been merged into the thermal/next branch of thermal: Commit-ID: 48d2e2ff85ddf7d4e88af2ee12e72818f5315a23 Gitweb: https://git.kernel.org/pub/scm/linux/kernel/git/thermal/linux.git//48d2e2ff85ddf7d4e88af2ee12e72818f5315a23 Author: Dmitry Baryshkov [off-list ref] AuthorDate: Fri, 04 Dec 2020 05:55:04 +03:00 Committer: Jonathan Cameron [off-list ref] CommitterDate: Sat, 16 Jan 2021 18:34:29 iio: adc: qcom-vadc-common: simplify qcom_vadc_map_voltage_temp All volt-temp tables here are sorted in descending order. There is no need to accout for (unused) ascending table sorting case, so simplify the conversion function. Signed-off-by: Dmitry Baryshkov <redacted> Link: https://lore.kernel.org/r/20201204025509.1075506-11-dmitry.baryshkov@linaro.org (local) Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> --- drivers/iio/adc/qcom-vadc-common.c | 21 +-------------------- 1 file changed, 1 insertion(+), 20 deletions(-)
diff --git a/drivers/iio/adc/qcom-vadc-common.c b/drivers/iio/adc/qcom-vadc-common.c
index 0c705bb..4418438 100644
--- a/drivers/iio/adc/qcom-vadc-common.c
+++ b/drivers/iio/adc/qcom-vadc-common.c@@ -346,38 +346,19 @@ static struct qcom_adc5_scale_type scale_adc5_fn[] = { static int qcom_vadc_map_voltage_temp(const struct vadc_map_pt *pts, u32 tablesize, s32 input, int *output) { - bool descending = 1; u32 i = 0; if (!pts) return -EINVAL; - /* Check if table is descending or ascending */ - if (tablesize > 1) { - if (pts[0].x < pts[1].x) - descending = 0; - } - - while (i < tablesize) { - if ((descending) && (pts[i].x < input)) { - /* table entry is less than measured*/ - /* value and table is descending, stop */ - break; - } else if ((!descending) && - (pts[i].x > input)) { - /* table entry is greater than measured*/ - /*value and table is ascending, stop */ - break; - } + while (i < tablesize && pts[i].x > input) i++; - } if (i == 0) { *output = pts[0].y; } else if (i == tablesize) { *output = pts[tablesize - 1].y; } else { - /* result is between search_index and search_index-1 */ /* interpolate linearly */ *output = fixp_linear_interpolate(pts[i - 1].x, pts[i - 1].y, pts[i].x, pts[i].y,