iio: bmc150_accel: add support for hardware fifo
authorOctavian Purdila <octavian.purdila@intel.com>
Sun, 22 Mar 2015 18:33:40 +0000 (20:33 +0200)
committerJonathan Cameron <jic23@kernel.org>
Sun, 29 Mar 2015 15:17:11 +0000 (16:17 +0100)
commit3bbec9773389112330954a6a64422eaa78d546c1
tree76c1252099a9250f8808f5b932465d913f76c13f
parentf4f4673b7535eff4ee1a8cfb1685fa1e1a0cb79d
iio: bmc150_accel: add support for hardware fifo

We only advertise hardware fifo support if the I2C bus supports full
I2C or smbus I2C block data reads since it is mandatory to read the
full frame in one read (otherwise the rest of the frame is discarded).

The hardware fifo is enabled only when triggers are not active because:

(a) when using the any-motion trigger the user expects to see samples
based on ROC events, but the fifo stores samples based on the sample
frequency

(b) the data-ready trigger is waking the CPU for for every sample, so
using the hardware fifo does not have any benefit

Signed-off-by: Octavian Purdila <octavian.purdila@intel.com>
Reviewed-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
drivers/iio/accel/bmc150-accel.c