Thread (33 messages) 33 messages, 5 authors, 2021-02-18

[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,
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help