alistair23-linux/drivers/iio
Lars-Peter Clausen df1d80aee9 iio: ad_sigma_delta: Properly handle SPI bus locking vs CS assertion
For devices from the SigmaDelta family we need to keep CS low when doing a
conversion, since the device will use the MISO line as a interrupt to
indicate that the conversion is complete.

This is why the driver locks the SPI bus and when the SPI bus is locked
keeps as long as a conversion is going on. The current implementation gets
one small detail wrong though. CS is only de-asserted after the SPI bus is
unlocked. This means it is possible for a different SPI device on the same
bus to send a message which would be wrongfully be addressed to the
SigmaDelta device as well. Make sure that the last SPI transfer that is
done while holding the SPI bus lock de-asserts the CS signal.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Alexandru Ardelean <Alexandru.Ardelean@analog.com>
Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
2019-04-04 20:21:15 +01:00
..
accel iio: cros_ec: Switch to SPDX identifier. 2019-04-04 20:19:58 +01:00
adc iio: ad_sigma_delta: Properly handle SPI bus locking vs CS assertion 2019-04-04 20:21:15 +01:00
afe iio: afe: rescale: new driver 2018-04-28 18:03:22 +01:00
amplifiers drivers: iio: Update MODULE AUTHOR email address 2018-08-19 17:23:39 +01:00
buffer iio: buffer: Switch to bitmap_zalloc() 2019-04-04 20:19:51 +01:00
chemical drivers: iio: Kconfig: pedantic cleanup 2019-04-04 20:19:56 +01:00
common iio: cros_ec: Switch to SPDX identifier. 2019-04-04 20:19:58 +01:00
counter iio: counter: stm32-lptimer: Add power management support 2019-04-04 20:19:45 +01:00
dac iio:dac:ad5064 mlock cleanup - move to a local lock. 2019-04-04 20:19:57 +01:00
dummy iio:dummy: Add extra paragraphs on Kconfig 2018-03-03 15:20:16 +00:00
frequency iio: frequency: ad9523: Fix typo in ad9523_platform_data 2019-04-04 20:20:58 +01:00
gyro iio: gyro: bmg160: add device tree compatibility table 2019-04-04 20:20:52 +01:00
health iio: health: max30102: Mark expected switch fall-throughs 2018-08-19 17:21:35 +01:00
humidity drivers: iio: Kconfig: pedantic cleanup 2019-04-04 20:19:56 +01:00
imu iio: imu: adis16400: move adis16400.h into adis16400.c 2019-04-04 20:20:28 +01:00
light iio: light: vcnl4000 add support for the VCNL4040 proximity and light sensor 2019-04-04 20:20:47 +01:00
magnetometer iio: hmc5843: fix potential NULL pointer dereferences 2019-04-04 20:20:14 +01:00
multiplexer iio: multiplexer: switch to SPDX license identifier 2018-08-20 19:28:26 +01:00
orientation iio/hid-sensors: Fix IIO_CHAN_INFO_RAW returning wrong values for signed numbers 2018-11-16 11:42:12 +00:00
potentiometer drivers: iio: Kconfig: pedantic cleanup 2019-04-04 20:19:56 +01:00
potentiostat iio:potentiostat:lmp91000: change dev_err message 2019-04-04 20:19:55 +01:00
pressure iio: cros_ec: Switch to SPDX identifier. 2019-04-04 20:19:58 +01:00
proximity mb1232.c: add distance iio sensor with i2c 2019-04-04 20:20:17 +01:00
resolver staging:iio:ad2s90: Move out of staging 2018-12-01 15:40:39 +00:00
temperature iio:temperature: Add MAX31856 thermocouple support 2019-04-04 20:21:05 +01:00
trigger iio: remove redundant unlikely annotation 2019-04-04 20:19:40 +01:00
iio_core.h the rest of drivers/*: annotate ->poll() instances 2017-11-28 11:06:58 -05:00
iio_core_trigger.h
industrialio-buffer.c iio: buffer: Switch to bitmap_zalloc() 2019-04-04 20:19:51 +01:00
industrialio-configfs.c iio: make function argument and some structures const 2017-10-19 16:15:24 +02:00
industrialio-core.c iio: Allow to read mount matrix from ACPI 2019-04-04 20:19:46 +01:00
industrialio-event.c vfs: do bulk POLL* -> EPOLL* replacement 2018-02-11 14:34:03 -08:00
industrialio-sw-device.c iio: make function argument and some structures const 2017-10-19 16:15:24 +02:00
industrialio-sw-trigger.c iio: make function argument and some structures const 2017-10-19 16:15:24 +02:00
industrialio-trigger.c iio: trigger: Print an error if there is no available irq 2019-04-04 20:19:41 +01:00
industrialio-triggered-event.c
inkern.c treewide: kzalloc() -> kcalloc() 2018-06-12 16:19:22 -07:00
Kconfig drivers: iio: Kconfig: pedantic cleanup 2019-04-04 20:19:56 +01:00
Makefile staging: iio: ad2s1200: Move driver out of staging 2018-05-20 12:17:48 +01:00