This patchset adds support for the new pressure sensors BMP580 extending the bmp280 driver. Patch 1 introduces a variant enumeration and refactors sensor verification logic adding a chip_id field to the chip_info struct. This change is required because BMP380 and BMP580 have the same chip_id and values would collide using the chip_id as the driver_data value. Patch 2 introduces new preinit callback and unifies init logic across all supported variants. Patch 3 extends the bmp280 driver with the new logic to read measurements and configure the operation parameters for the BMP580 sensors. Patch 4 updates the devicetree binding docs with the new sensor id. Patch 5 adds the NVMEM operations to read and program the NVM user range contained in the non-volatile memory of the BMP580 sensors. Changes in V2: * For patch 3, fixed missing retcodes reported by the kernel test robot. * For patch 5, fixed logic paths that left the sensor mutex locked reported by the kernel test robot. Angel Iglesias (5): iio: pressure: bmp280: Add enumeration to handle chip variants iio: pressure: bmp280: Add preinit callback iio: pressure: bmp280: Add support for new sensor BMP580 dt-bindings: iio: pressure: bmp085: Add BMP580 compatible string iio: pressure: bmp280: Add nvmem operations for BMP580 .../bindings/iio/pressure/bmp085.yaml | 2 + drivers/iio/pressure/Kconfig | 6 +- drivers/iio/pressure/bmp280-core.c | 617 +++++++++++++++++- drivers/iio/pressure/bmp280-i2c.c | 33 +- drivers/iio/pressure/bmp280-regmap.c | 60 ++ drivers/iio/pressure/bmp280-spi.c | 23 +- drivers/iio/pressure/bmp280.h | 115 ++++ 7 files changed, 815 insertions(+), 41 deletions(-) base-commit: e807541c2b273677e82ef50b5747ec7ae7d652b9 -- 2.39.0