mbox series

[v2,00/10] changes to mprls0025pa

Message ID 20231224143500.10940-1-petre.rodan@subdimension.ro
Headers show
Series changes to mprls0025pa | expand

Message

Petre Rodan Dec. 24, 2023, 2:34 p.m. UTC
A number of fixes to the mprls0025pa driver:
 - an off-by-one initially caused by a typo in the bindings file
 - two error fields are never checked during sensor interaction
 - unsafe initialization if the driver is instantiated via sysfs
   and the bindings are missing

Quality of life changes:
 - a refactor that adds a pressure-triplet property which initializes
pmin-pascal and pmax-pascal just like in the hsc030pa driver.
The user only needs to extract a short string from the chip name
instead of looking up the chip in the datasheet, understand the
nomenclature, extract the measurement range and then convert all units
to pascals.

New feature:
 - SPI compatibility for Honeywell MPR sensors that require it.

Both binding and driver are backwards compatible.
Tested in I2C and SPI modes with two different sensors.
The refactor requires property function present in the togreg branch.

Datasheet: https://prod-edam.honeywell.com/content/dam/honeywell-edam/sps/siot/en-us/products/sensors/pressure-sensors/board-mount-pressure-sensors/micropressure-mpr-series/documents/sps-siot-mpr-series-datasheet-32332628-ciid-172626.pdf
Signed-off-by: Petre Rodan <petre.rodan@subdimension.ro>
Signed-off-by: Andreas Klinger <ak@it-klinger.de>
---
Petre Rodan (10):
  dt-bindings: iio: pressure: honeywell,mprls0025pa.yaml fix
  dt-bindings: iio: pressure: honeywell,mprls0025pa.yaml add
    pressure-triplet
  dt-bindings: iio: pressure: honeywell,mprls0025pa.yaml add spi bus
  iio: pressure: mprls0025pa.c fix off-by-one enum
  iio: pressure: mprls0025pa.c fix error flag check
  iio: pressure: mprls0025pa.c remove dangerous defaults
  iio: pressure: mprls0025pa.c whitespace cleanup
  iio: pressure: mprls0025pa.c refactor
  iio: pressure: mprls0025pa.c add triplet property
  iio: pressure: mprls0025pa.c add SPI driver

 .../iio/pressure/honeywell,mprls0025pa.yaml   |  97 ++++--
 MAINTAINERS                                   |   3 +-
 drivers/iio/pressure/Kconfig                  |  14 +-
 drivers/iio/pressure/Makefile                 |   2 +
 drivers/iio/pressure/mprls0025pa.c            | 308 +++++++++---------
 drivers/iio/pressure/mprls0025pa.h            | 100 ++++++
 drivers/iio/pressure/mprls0025pa_i2c.c        |  98 ++++++
 drivers/iio/pressure/mprls0025pa_spi.c        |  91 ++++++
 8 files changed, 539 insertions(+), 174 deletions(-)
 create mode 100644 drivers/iio/pressure/mprls0025pa.h
 create mode 100644 drivers/iio/pressure/mprls0025pa_i2c.c
 create mode 100644 drivers/iio/pressure/mprls0025pa_spi.c

--
2.41.0