Re: [PATCH v5 0/4] iio: chemical: Add support for Sensirion SCD4x CO2 sensor

From: Jonathan Cameron
Date: Sun Oct 10 2021 - 11:56:04 EST


On Fri, 8 Oct 2021 12:17:02 +0200
Roan van Dijk <roan@xxxxxxxxxxx> wrote:

> This series adds support for the Sensirion SCD4x sensor.
>
> The driver supports continuous reads of temperature, relative humdity and CO2
> concentration. There is an interval of 5 seconds between readings. During
> this interval the drivers checks if the sensor has new data available.
>
> The driver is based on the scd30 driver. However, The scd4x has become too
> different to just expand the scd30 driver. I made a new driver instead of
> expanding the scd30 driver. I hope I made the right choice by doing so?

Applied to the togreg branch of iio.git with the issues Randy mentioned tidied
up. Pushed out as testing for 0-day to see if it can find anything we missed

Thanks,

Jonathan

>
> Changes since v5:
> scd4x.c:
> - Fix bug in trigger_handler
>
> Changes since v4:
> scd4x.c:
> - Minor fixes in documentation
> - Reorder trigger_handler so memcpy is not needed anymore
> Documentation:
> - Change information about the KernelVersion for the
> calibration_forced_value_available
>
> Changes since v3:
> scd4x.c
> - Change read and write_and_fetch function parameter. CRC byte is now
> hidden inside the function.
> - Fix minor style issues
> - Add calibration_forced_value_available attribute to the driver
> - Remove including BUFFER_TRIGGERED
> - Change calibbias to raw ADC readings rather than converting it to
> milli degrees C.
> Documentation:
> - Change description of driver attributes
> - Add calibration_forced_value_available documentation
>
> Changes since v2:
> scd4x.c:
> - Change boolean operations
> - Document scope of lock
> - Remove device *dev from struct
> - Add goto block for errror handling
> - Add function to read value per channel in read_raw
> - Fix bug with lock in error paths
> - Remove conversion of humidity and temperature values
> - Add scale and offset to temperature channel
> - Add scale to humidity channel
> - Move memset out of locked section
> - Remove unused irq functions
> - Move device register at end of probe function
> Documentation:
> - Copy content of sysfs-bus-iio-scd30 to sysfs-bus-iio
> - Remove Documentation/ABI/testing/sysfs-bus-iio-scd30
>
> Changes since v1:
> dt-bindings:
> - Separated compatible string for each sensor type
> scd4x.c:
> - Changed probe, resume and suspend functions to static
> - Added SIMPLE_DEV_PM_OPS function call for power management
> operations.
>
> Roan van Dijk (4):
> dt-bindings: iio: chemical: sensirion,scd4x: Add yaml description
> MAINTAINERS: Add myself as maintainer of the scd4x driver
> drivers: iio: chemical: Add support for Sensirion SCD4x CO2 sensor
> iio: documentation: Document scd4x calibration use
>
> Documentation/ABI/testing/sysfs-bus-iio | 41 ++
> Documentation/ABI/testing/sysfs-bus-iio-scd30 | 34 -
> .../iio/chemical/sensirion,scd4x.yaml | 46 ++
> MAINTAINERS | 6 +
> drivers/iio/chemical/Kconfig | 13 +
> drivers/iio/chemical/Makefile | 1 +
> drivers/iio/chemical/scd4x.c | 689 ++++++++++++++++++
> 7 files changed, 796 insertions(+), 34 deletions(-)
> delete mode 100644 Documentation/ABI/testing/sysfs-bus-iio-scd30
> create mode 100644 Documentation/devicetree/bindings/iio/chemical/sensirion,scd4x.yaml
> create mode 100644 drivers/iio/chemical/scd4x.c
>