Based on upstream master with the previous patches of this series applied as well. IMPORTANT NOTE: There is a fix queued up for this driver here [1]. It is going to conflict with PATCH [7-9/9]. The previous patches should be fine. The solution should be quite trivial with minor changes in all 3 PATCH [7-9/9]. When it is deemed necessary I can resubmit the patches or help with resolving the issue. Changes in v6: PATCH [1-3/9]: new: - split of PATCH [5/10] of v5 according to proposal here [2]. PATCH [4/9]: new: - split of PATCH [6/10] of v5 according to proposal here [3]. PATCH [6/9]: - Removed mutex_lock() and added guard(mutex) to bmp580_nvmem_{read/write}() functions as well. PATCH [9/9]: - In the buffer handlers, add 'goto out;' instead of just returning the error because iio_trigger_notify_done() wouldn't be called in case of error. [1]: https://lore.kernel.org/linux-iio/043f2be49df3c11152aaf32fc5467ed43fd59faa.camel@xxxxxxxxx/ [2]: https://lore.kernel.org/linux-iio/20240505200818.1e70c664@jic23-huawei/ [3]: https://lore.kernel.org/linux-iio/20240505202106.1c780044@jic23-huawei/ Previous versions: [v5]: https://lore.kernel.org/linux-iio/20240429190046.24252-1-vassilisamir@xxxxxxxxx/ [v4]: https://lore.kernel.org/linux-iio/20240407172920.264282-1-vassilisamir@xxxxxxxxx/ [v3]: https://lore.kernel.org/linux-iio/20240319002925.2121016-1-vassilisamir@xxxxxxxxx/ [v2]: https://lore.kernel.org/linux-iio/20240313174007.1934983-1-vassilisamir@xxxxxxxxx/ [v1]: https://lore.kernel.org/linux-iio/20240303165300.468011-1-vassilisamir@xxxxxxxxx/ P.S: I messed up before and I sent the patches without versioning. The wrong thread is here: https://lore.kernel.org/linux-iio/20240508163425.143831-1-vassilisamir@xxxxxxxxx Vasileios Amoiridis (9): iio: pressure: bmp280: Remove dead error checks iio: pressure: bmp280: Remove, add and update error messages iio: pressure: bmp280: Make error checks consistent iio: pressure: bmp280: Use unsigned data types for raw sensor data iio: pressure: bmp280: Refactorize reading functions iio: pressure: bmp280: Introduce new cleanup routines iio: pressure: bmp280: Generalize read_{temp,press,humid}() functions iio: pressure: bmp280: Add SCALE, RAW values in channels and refactorize them iio: pressure: bmp280: Add triggered buffer support drivers/iio/pressure/Kconfig | 2 + drivers/iio/pressure/bmp280-core.c | 1130 ++++++++++++++++++++-------- drivers/iio/pressure/bmp280-spi.c | 8 +- drivers/iio/pressure/bmp280.h | 34 +- 4 files changed, 844 insertions(+), 330 deletions(-) base-commit: dccb07f2914cdab2ac3a5b6c98406f765acab803 -- 2.25.1