mbox series

[v1,00/17] iio: chemical: bme680: Driver cleanup

Message ID 20240527183805.311501-1-vassilisamir@gmail.com (mailing list archive)
Headers show
Series iio: chemical: bme680: Driver cleanup | expand

Message

Vasileios Amoiridis May 27, 2024, 6:37 p.m. UTC
This started as a series to add support for buffers and the new
BME688 but it ended up being just a cleaning series. These might
be quite some patches for such a thing but I feel that they are
are well split, in order to allow for better review.

The patches are mostly small changes but essential for the correct use
of the driver. The first patches looked like fixes that should be
marked for the stable. Patches [11,17/17] might be a bit bigger but 11/17
is quite straightforward and 17/17 is basically a duplication of a
very similar commit coming from the BMP280 driver [1].

In general, the datasheet [2] of the driver is not very descriptive,
and it redirects the user to the BME68x Sensor API [3]. All the things
that were identified from the BME68x Sensor API have been marked with
links to the original locations of the GitHub code. If this is too much
and we don't want this type of information on the commit message, please
let me know and I will fix it.

[1]: https://lore.kernel.org/linux-iio/20240512230524.53990-1-vassilisamir@gmail.com/T/#mc6f814e9a4f8c2b39015909d174c7013b3648b9b
[2]: https://www.bosch-sensortec.com/media/boschsensortec/downloads/datasheets/bst-bme680-ds001.pdf
[3]: https://github.com/boschsensortec/BME68x_SensorAPI/tree/master

Vasileios Amoiridis (17):
  iio: chemical: bme680: Fix pressure value output
  iio: chemical: bme680: Fix calibration data variable
  iio: chemical: bme680: Fix overflows in compensate() functions
  iio: chemical: bme680: Fix sensor data read operation
  iio: chemical: bme680: Fix type in define
  iio: chemical: bme680: Add mutexes to guard read/write to device
  iio: chemical: bme680: Drop unnecessary casts and correct adc data
    types
  iio: chemical: bme680: Remove remaining ACPI-only stuff
  iio: chemical: bme680: Sort headers alphabetically
  iio: chemical: bme680: Remove duplicate register read
  iio: chemical: bme680: Use bulk reads for calibration data
  iio: chemical: bme680: Allocate IIO device before chip initialization
  iio: chemical: bme680: Add read buffers in DMA safe region
  iio: chemical: bme680: Modify startup procedure
  iio: chemical: bme680: Remove redundant gas configuration
  iio: chemical: bme680: Move forced mode setup in ->read_raw()
  iio: chemical: bme680: Refactorize reading functions

 drivers/iio/chemical/bme680.h      |  39 +-
 drivers/iio/chemical/bme680_core.c | 643 ++++++++++++++---------------
 2 files changed, 315 insertions(+), 367 deletions(-)


base-commit: 409b6d632f5078f3ae1018b6e43c32f2e12f6736

Comments

Jonathan Cameron June 2, 2024, 12:31 p.m. UTC | #1
On Mon, 27 May 2024 20:37:48 +0200
Vasileios Amoiridis <vassilisamir@gmail.com> wrote:

> This started as a series to add support for buffers and the new
> BME688 but it ended up being just a cleaning series. These might
> be quite some patches for such a thing but I feel that they are
> are well split, in order to allow for better review.
> 
> The patches are mostly small changes but essential for the correct use
> of the driver. The first patches looked like fixes that should be
> marked for the stable. Patches [11,17/17] might be a bit bigger but 11/17
> is quite straightforward and 17/17 is basically a duplication of a
> very similar commit coming from the BMP280 driver [1].
> 
> In general, the datasheet [2] of the driver is not very descriptive,
> and it redirects the user to the BME68x Sensor API [3]. All the things
> that were identified from the BME68x Sensor API have been marked with
> links to the original locations of the GitHub code. If this is too much
> and we don't want this type of information on the commit message, please
> let me know and I will fix it.
> 
> [1]: https://lore.kernel.org/linux-iio/20240512230524.53990-1-vassilisamir@gmail.com/T/#mc6f814e9a4f8c2b39015909d174c7013b3648b9b
> [2]: https://www.bosch-sensortec.com/media/boschsensortec/downloads/datasheets/bst-bme680-ds001.pdf
> [3]: https://github.com/boschsensortec/BME68x_SensorAPI/tree/master

+CC Mike and David who have been active around this driver in the past.


> 
> Vasileios Amoiridis (17):
>   iio: chemical: bme680: Fix pressure value output
>   iio: chemical: bme680: Fix calibration data variable
>   iio: chemical: bme680: Fix overflows in compensate() functions
>   iio: chemical: bme680: Fix sensor data read operation
>   iio: chemical: bme680: Fix type in define
>   iio: chemical: bme680: Add mutexes to guard read/write to device
>   iio: chemical: bme680: Drop unnecessary casts and correct adc data
>     types
>   iio: chemical: bme680: Remove remaining ACPI-only stuff
>   iio: chemical: bme680: Sort headers alphabetically
>   iio: chemical: bme680: Remove duplicate register read
>   iio: chemical: bme680: Use bulk reads for calibration data
>   iio: chemical: bme680: Allocate IIO device before chip initialization
>   iio: chemical: bme680: Add read buffers in DMA safe region
>   iio: chemical: bme680: Modify startup procedure
>   iio: chemical: bme680: Remove redundant gas configuration
>   iio: chemical: bme680: Move forced mode setup in ->read_raw()
>   iio: chemical: bme680: Refactorize reading functions
> 
>  drivers/iio/chemical/bme680.h      |  39 +-
>  drivers/iio/chemical/bme680_core.c | 643 ++++++++++++++---------------
>  2 files changed, 315 insertions(+), 367 deletions(-)
> 
> 
> base-commit: 409b6d632f5078f3ae1018b6e43c32f2e12f6736