iio: adc: mcp320x: Speed up readout of single-channel ADCs
authorLukas Wunner <lukas@wunner.de>
Sat, 9 Sep 2017 18:32:41 +0000 (20:32 +0200)
committerJonathan Cameron <Jonathan.Cameron@huawei.com>
Sun, 24 Sep 2017 11:34:54 +0000 (12:34 +0100)
commitea9103186d0508cfbd665a04d2773514e336fa72
tree4615f9d200ed5426c65cb4cc64a8801ecdda5306
parentf1f065d7ac30ba8b56838271a04501820d190b06
iio: adc: mcp320x: Speed up readout of single-channel ADCs

Single-channel converters such as mcp3001, mcp3201, mcp3301 and the
upcoming mcp3550/1/3 lack a MOSI pin, so there's no need to call
mcp320x_channel_to_tx_data() for them.

Moreover, instead of calling spi_read() for these converters, which
generates an spi_message and spi_transfer on the stack on every readout,
it's more efficient to use the spi_message and spi_transfer[] included
in struct mcp320x (as we do for multi-channel ADCs), but initialize the
spi_message only with the receive transfer.

Signed-off-by: Lukas Wunner <lukas@wunner.de>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
drivers/iio/adc/mcp320x.c