On Sun, 21 Jun 2020 21:56:57 +0200 Tomasz Duszynski <tomasz.duszynski@xxxxxxxxxxx> wrote: > Following series adds support for Sensirion SCD30 sensor module capable of > measuring carbon dioxide, temperature and relative humidity. CO2 measurements > base on NDIR principle while temperature and relative humidity are measured by > the on board SHT31. As for sensor communication, both I2C and serial interfaces > are supported. Series applied to the togreg branch of iio.git and pushed out as testing for the autobuilders to play with it. Thanks, Jonathan > > v6: > * fix warnings produced by C=2 build option > * fix 0-day warning 'Clarify calculation precedence for '&' and '?'' > > v5: > * set pressure calibration via output channel > * use kstrtobool() to read value into _enabled attribute > * drop explicit parent asignment as the default one is good enough > (seems 'iio: core: pass parent device as parameter during allocation' > series was accepted) > > v4: > * improve formatting > * improve error handling readability > * fix message validity check on serial write > > v3: > * simplify code by scaling temperature & humidity in _read_meas() > * update realbits in scan types > * s/adjecent/adjacent > * drop IIO_CHAN_INFO_RAW from _write_raw_get_fmt because there's no raw > output channel > * rework locking in _read_raw > * fix endianess problem on BE machine > * align timestamp properly before pushing to buffers > * explain why interrupt gets disabled after registration > * add trigger validation > * drop SCALE for temperature and humidity channel as they are processed > * register action which stops measuring after starting measurements > * spit generic calibration attr into two doing specific things > * add comment explaining why priv in struct scd30_state is for > * rename node in binding example to co2-sensor > > v2: > * move asm/byteorder.h towards the bottom of include list > * make channel address names in enum more specific > * add postfixes to defines and extra comments > * drop unneeded i2c include from scd30 header > * break generic command sending function into specialized options > * expose automatic calibration and forced calibration via the same attr > * use SAMP_FREQ to set frequency instead of meas_interval attr > * use CALISCALE to set pressure compensation instead of pressure_comp attr > * use CALIBBIAS to set temperature offset instead of temp_offset attr > * fix order in MAINTAINERS > * drop attribute allowing one to reset sensor > * as we have dt probing drop board file based probing (i2c_device_id) > * merge patches touching related files > * use fwnode API to retrieve interrupt from dt > * fix interrupt-parent spelling > * change binding license > * drop supply from required property > > Tomasz Duszynski (4): > iio: chemical: scd30: add core driver > iio: chemical: scd30: add I2C interface driver > iio: chemical: scd30: add serial interface driver > dt-bindings: iio: scd30: add device binding file > > Documentation/ABI/testing/sysfs-bus-iio-scd30 | 34 + > .../iio/chemical/sensirion,scd30.yaml | 68 ++ > MAINTAINERS | 9 + > drivers/iio/chemical/Kconfig | 33 + > drivers/iio/chemical/Makefile | 3 + > drivers/iio/chemical/scd30.h | 78 ++ > drivers/iio/chemical/scd30_core.c | 771 ++++++++++++++++++ > drivers/iio/chemical/scd30_i2c.c | 139 ++++ > drivers/iio/chemical/scd30_serial.c | 263 ++++++ > 9 files changed, 1398 insertions(+) > create mode 100644 Documentation/ABI/testing/sysfs-bus-iio-scd30 > create mode 100644 Documentation/devicetree/bindings/iio/chemical/sensirion,scd30.yaml > create mode 100644 drivers/iio/chemical/scd30.h > create mode 100644 drivers/iio/chemical/scd30_core.c > create mode 100644 drivers/iio/chemical/scd30_i2c.c > create mode 100644 drivers/iio/chemical/scd30_serial.c > > -- > 2.27.0 >