]> git.baikalelectronics.ru Git - kernel.git/commit
staging:iio:adis: Preallocate transfer message
authorLars-Peter Clausen <lars@metafoo.de>
Tue, 13 Nov 2012 13:28:00 +0000 (13:28 +0000)
committerJonathan Cameron <jic23@kernel.org>
Mon, 19 Nov 2012 22:22:11 +0000 (22:22 +0000)
commit4bb0a46f30b5ba2d45272c160e66d7dfa9fa6e27
tree07e8ee424e67ada771e1b5f46be75425a9cdf241
parent97fded70c49be78d07c03937038f69c3f46191e6
staging:iio:adis: Preallocate transfer message

Currently the driver reads out all sample registers of the device and throws
away those which it does not need. Furthermore the SPI message is constructed
each time the trigger handler is run, although it will be the same each time.
This patch preallocates and pre-constructs the SPI message in the
"update_scan_mode" callback. Only those register which are actually selected for
sampling are included in the message. The patch also gets rid of the conversion
of the sample data from big endian to the native endianness and instead marks
the channel as big endian in its scan type. This allows to directly push the
SPI transfer buffer to the IIO buffer without the need to post-process it.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
drivers/staging/iio/accel/adis16201_core.c
drivers/staging/iio/accel/adis16203_core.c
drivers/staging/iio/accel/adis16204_core.c
drivers/staging/iio/accel/adis16209_core.c
drivers/staging/iio/accel/adis16240_core.c
drivers/staging/iio/gyro/adis16260_core.c
drivers/staging/iio/imu/adis.h
drivers/staging/iio/imu/adis_buffer.c