IIO: ADC: New driver for AD7792/AD7793 3 Channel SPI ADC
authorMichael Hennerich <michael.hennerich@analog.com>
Wed, 8 Jun 2011 14:12:44 +0000 (16:12 +0200)
committerGreg Kroah-Hartman <gregkh@suse.de>
Tue, 28 Jun 2011 21:47:25 +0000 (14:47 -0700)
commit88bc30548aae18a39fd5d35cbb160a1ea347b4a7
treec09555dc0011e20a250e51deb90db5de08f960d1
parent3fd47d44860aaac5b6f55bb3522e32f32e1be9e6
IIO: ADC: New driver for AD7792/AD7793 3 Channel SPI ADC

New driver for AD7792/AD7793 3-Channel, Low Noise,
Low Power, 16-/24-Bit Sigma-Delta ADC with On-Chip In-Amp
and Reference.

The AD7792/AD7793 features a dual use data out ready DOUT/RDY output.
In order to avoid contentions on the SPI bus, it's necessary to use
spi bus locking. The DOUT/RDY output must also be wired to an
interrupt capable GPIO.

In INDIO_RING_TRIGGERED mode, this driver may block its SPI bus segment
for an extended period of time.

Changes since V1:

Use bool where applicable.
Use data buffer that lives in their own cache line.
Restructure ad7793_calibrate_all to use an array.
Use msleep.
Query REG_ID instead of doing a write/read This is a test.
Add support for unipolar mode.
Drop range attribute in favor of write scale.
Add proper locking.
Use new validate_trigger callbacks.
Use IIO_IN_DIFF for differential channels.
Change attribute naming.
Use available_scan_masks.
Some other miscellaneous cleanup (none functional changes).

Signed-off-by: Michael Hennerich <michael.hennerich@analog.com>
Acked-by: Jonathan Cameron <jic23@cam.ac.uk>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/staging/iio/adc/Kconfig
drivers/staging/iio/adc/Makefile
drivers/staging/iio/adc/ad7793.c [new file with mode: 0644]
drivers/staging/iio/adc/ad7793.h [new file with mode: 0644]