The adxl345 sensor offers several features. Most of them are based on using the hardware FIFO and reacting on events coming in on an interrupt line. Add access to configure and read out the FIFO, handling of interrupts and configuration and application of the watermark feature on that FIFO. Signed-off-by: Lothar Rubusch <l.rubusch@xxxxxxxxx> --- v5 -> v6: - dropped justify patch, since unnecessary change to format mask - added separate dt-bindings patch to remove required interrupts property - merged FIFO watermark patches - reworked bitfield handling - group irq setup in probe() - several type fixes by smatch and tools v4 -> v5: - fix dt-binding for enum array of INT1 and INT2 v3 -> v4: - fix dt-binding indention v2 -> v3: - reorganize commits, merge the watermark handling - INT lines are defined by binding - kfifo is prepared by devm_iio_kfifo_buffer_setup() - event handler is registered w/ devm_request_threaded_irq() v1 -> v2: Fix comments according to Documentation/doc-guide/kernel-doc.rst and missing static declaration of function. --- Lothar Rubusch (7): iio: accel: adxl345: add function to switch measuring mode iio: accel: adxl345: complete the list of defines dt-bindings: iio: accel: adxl345: add interrupt-names dt-bindings: iio: accel: adxl345: make interrupts not a required property iio: accel: adxl345: introduce interrupt handling iio: accel: adxl345: initialize FIFO delay value for SPI iio: accel: adxl345: add FIFO with watermark events .../bindings/iio/accel/adi,adxl345.yaml | 7 +- drivers/iio/accel/adxl345.h | 95 ++++- drivers/iio/accel/adxl345_core.c | 383 +++++++++++++++++- drivers/iio/accel/adxl345_i2c.c | 2 +- drivers/iio/accel/adxl345_spi.c | 7 +- 5 files changed, 461 insertions(+), 33 deletions(-) -- 2.39.5