Re: [PATCH v2 4/9] iio: adc: qcom-vadc-common: use fixp_linear_interpolate

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu,  3 Sep 2020 16:21:04 +0300
Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxx> wrote:

> Use new function fixp_linear_interpolate() instead of hand-coding the
> linar interpolation.

linear

Note I'm not sure who will pick these up hence I'm giving reviewed-by's.

> 
> Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxx>
Reviewed-by: Jonathan Cameron <Jonathan.Cameron@xxxxxxxxxx>
> ---
>  drivers/iio/adc/qcom-vadc-common.c | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/iio/adc/qcom-vadc-common.c b/drivers/iio/adc/qcom-vadc-common.c
> index d11f3343ad52..40d77b3af1bb 100644
> --- a/drivers/iio/adc/qcom-vadc-common.c
> +++ b/drivers/iio/adc/qcom-vadc-common.c
> @@ -2,6 +2,7 @@
>  #include <linux/bug.h>
>  #include <linux/kernel.h>
>  #include <linux/bitops.h>
> +#include <linux/fixp-arith.h>
>  #include <linux/math64.h>
>  #include <linux/log2.h>
>  #include <linux/err.h>
> @@ -368,10 +369,9 @@ static int qcom_vadc_map_voltage_temp(const struct vadc_map_pt *pts,
>  	} else {
>  		/* result is between search_index and search_index-1 */
>  		/* interpolate linearly */
> -		*output = (((s32)((pts[i].y - pts[i - 1].y) *
> -			(input - pts[i - 1].x)) /
> -			(pts[i].x - pts[i - 1].x)) +
> -			pts[i - 1].y);
> +		*output = fixp_linear_interpolate(pts[i - 1].x, pts[i - 1].y,
> +						  pts[i].x, pts[i].y,
> +						  input);
>  	}
>  
>  	return 0;




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [Linux for Sparc]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux