Introduce support for the Murata ZPA2326 pressure and temperature sensor. Also bring in resource managed versions for triggered buffer setup helpers and trigger registration which the above mentioned driver depends on. Driver features : * I2C and SPI buses * interrupt and polling based operations * direct, triggered and software buffered IIO sampling modes * hardware sampling frequency handling * trigger consumers notification (plugged on interrupt) * runtime and system power states Changes since v2 : * add missing vref-supply property into DT bindings doc * kerneldoc'ify comments * rename return code variables * compute channel scaling and offset using IIO_VAL_FRACTIONAL for enhanced readability * replace legacy IIO_DEV_ATTR_SAMP_FREQ macro by channel info_mask_shared_by_all mechanism Changes since v1 : * cosmetic and spelling corrections * remove useless header * remove useless u8 cast from register macro definitions * fix uninitialized pressure word for continuous sampling operation * rework of zpa_dequeue_pressure error handling flow for enhanced readability * merge zpa_acknowledge_irq() into zpa_handle_threaded_irq() for enhanced readability * remove useless pm_runtime_mark_last_busy() invocation * remove useless channel initializers * add VRef regulator support * switch to regmap based bus operations (save ~100 lines of code) * make symbol prefixes consistent with source file name (zpa_ -> zpa2326_) * get rid of BUG() usage * protect sampling frequency reads from userspace with mutex * remove DEBUG macro (rely on dynamic debug or a futur DEBUG Kconfig option defined at IIO level) * rename ZPA2326_CONVERSION_TIMEOUT macros to ZPA2326_CONVERSION_JIFFIES * simplify runtime power management error handling * rework ring setup operations for better separation of concerns * fix module removal / devm_iio_device_register() race condition * factor out hardware detection sequence Regards, gregor. Gregor Boirie (3): iio:trigger: add resource managed (un)register iio: add resource managed triggered buffer init helpers iio:pressure: initial zpa2326 barometer support .../devicetree/bindings/iio/pressure/zpa2326.txt | 25 + Documentation/driver-model/devres.txt | 4 + drivers/iio/buffer/industrialio-triggered-buffer.c | 42 + drivers/iio/industrialio-core.c | 3 +- drivers/iio/industrialio-trigger.c | 59 + drivers/iio/pressure/Kconfig | 35 + drivers/iio/pressure/Makefile | 3 + drivers/iio/pressure/zpa2326.c | 1871 ++++++++++++++++++++ drivers/iio/pressure/zpa2326.h | 95 + drivers/iio/pressure/zpa2326_i2c.c | 98 + drivers/iio/pressure/zpa2326_spi.c | 102 ++ include/linux/iio/iio.h | 1 + include/linux/iio/trigger.h | 6 + include/linux/iio/triggered_buffer.h | 8 + 14 files changed, 2351 insertions(+), 1 deletion(-) create mode 100644 Documentation/devicetree/bindings/iio/pressure/zpa2326.txt create mode 100644 drivers/iio/pressure/zpa2326.c create mode 100644 drivers/iio/pressure/zpa2326.h create mode 100644 drivers/iio/pressure/zpa2326_i2c.c create mode 100644 drivers/iio/pressure/zpa2326_spi.c -- 2.1.4 -- To unsubscribe from this list: send the line "unsubscribe linux-iio" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html