Re: [PATCH v7 1/5] iio: pressure: bmp280: Refactorize reading functions

From: Jonathan Cameron
Date: Sun May 19 2024 - 10:22:57 EST


On Mon, 13 May 2024 01:05:20 +0200
Vasileios Amoiridis <vassilisamir@xxxxxxxxx> wrote:

> For BMP18x, BMP28x, BME280, BMP38x the reading of the pressure
> value requires an update of the t_fine variable which happens
> through reading the temperature value.
>
> So all the bmpxxx_read_press() functions of the above sensors
> are internally calling the equivalent bmpxxx_read_temp() function
> in order to update the t_fine value. By just looking at the code
> this functionality is a bit hidden and is not easy to understand
> why those channels are not independent.
>
> This commit tries to clear these things a bit by splitting the
> bmpxxx_{read/compensate}_{temp/press/humid}() to the following:
>
> i. bmpxxx_read_{temp/press/humid}_adc(): read the raw value from
> the sensor.
>
> ii. bmpxx_calc_t_fine(): calculate the t_fine variable.
>
> iii. bmpxxx_get_t_fine(): get the t_fine variable.
>
> iv. bmpxxx_compensate_{temp/press/humid}(): compensate the adc
> values and return the calculated value.
>
> v. bmpxxx_read_{temp/press/humid}(): combine calls of the
> aforementioned functions to return the requested value.
>
> Suggested-by: Jonathan Cameron <Jonathan.Cameron@xxxxxxxxxx>
> Signed-off-by: Vasileios Amoiridis <vassilisamir@xxxxxxxxx>
Applied with a fix...
drivers/iio/pressure/bmp280-core.c: In function ‘bmp180_read_press’:
drivers/iio/pressure/bmp280-core.c:2091:9: error: ‘ret’ undeclared (first use in this function); did you mean ‘net’?
2091 | ret = bmp180_get_t_fine(data, &t_fine);
| ^~~
| net

I guess something got lost in rebasing. Anyhow, fix obvious so not
problem.

Thanks,

Jonathan