mbox series

[v3,0/6] Series to add triggered buffer support to BMP280 driver

Message ID 20240319002925.2121016-1-vassilisamir@gmail.com (mailing list archive)
Headers show
Series Series to add triggered buffer support to BMP280 driver | expand

Message

Vasileios Amoiridis March 19, 2024, 12:29 a.m. UTC
Changes in v3:

Patch 2: Add guard(mutex) as per request {read/write}_raw() functions.

Patch 3: Patch 2 of v2. Added IIO return value as per request.

Patch 4: Patch 3 of v2.

Patch 5: Patch 4 of v2.

Patch 6: Completely different approach from v2. Instead of leveraging the
functionality of the read_*() functions for the oneshot capture, burst reads
were used in order to read all the values in one single read operation. This
minimizes the number of accesses to the device to just 1 time, which all the
values are being read. Different buffer_handler() functions were implemented
for the different "families" of sensors because there were a lot of differences
in the register configuration and read operation for different sensors.

BMP085 and BMP180 have a very well defined read operation that is kept in the
buffer_handler(). There is no option for a burst read in these sensors.

BM(P/E)2xx, BMP3xx, and BMP5xx have their own buffer_handler() functions.
Registers, endianess and compensation formulas are different in each one of
those 3 categories which doesn't allow for a more generic buffer_handler().

[v2] https://lore.kernel.org/linux-iio/20240313174007.1934983-1-vassilisamir@gmail.com
[v1] https://lore.kernel.org/linux-iio/20240303165300.468011-1-vassilisamir@gmail.com

Vasileios Amoiridis (6):
  iio: pressure: BMP280 core driver headers sorting
  iio: pressure: Introduce new cleanup routines to BMP280 driver *_raw()
    functions
  iio: pressure: Generalize read_{temp/press/humid}() functions
  iio: pressure: Add SCALE and RAW values for channels
  iio: pressure: Add timestamp and scan_masks for BMP280 driver
  iio: pressure: Add triggered buffer support for BMP280 driver

 drivers/iio/pressure/Kconfig       |   2 +
 drivers/iio/pressure/bmp280-core.c | 727 +++++++++++++++++++++--------
 drivers/iio/pressure/bmp280-spi.c  |   8 +-
 drivers/iio/pressure/bmp280.h      |  28 +-
 4 files changed, 570 insertions(+), 195 deletions(-)