android_kernel_sony_sdm845/include/linux/iio
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Lars-Peter Clausen 0ce6473c39 iio: ad_sigma_delta: Properly handle SPI bus locking vs CS assertion
[ Upstream commit df1d80aee963480c5c2938c64ec0ac3e4a0df2e0 ]

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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2019-05-31 06:48:27 -07:00
..
accel
adc iio: ad_sigma_delta: Properly handle SPI bus locking vs CS assertion 2019-05-31 06:48:27 -07:00
common iio: accel: st_accel: fix LIS3LV02 reading and scaling 2017-01-12 11:39:21 +01:00
dac iio: max517: Add support for MAX520 and MAX521 chips. 2015-03-28 10:57:34 +00:00
frequency
gyro
imu iio:adis: Add support for manual self-test flag clear 2016-04-16 13:42:43 +01:00
magnetometer iio:ak8975: add mounting matrix support 2016-04-23 22:14:34 +01:00
buffer-dma.h iio: buffer: fix the function signature to match implementation 2018-11-10 07:42:55 -08:00
buffer-dmaengine.h iio: Add a DMAengine framework based buffer 2015-10-25 13:55:32 +00:00
buffer.h iio:buffer: make length types match kfifo types 2018-07-03 11:23:11 +02:00
configfs.h iio:configfs: Introduce iio/configfs.h to provide a location for the configfs_subsystem 2015-12-05 16:25:30 +00:00
consumer.h iio: buffer-callback: allow getting underlying iio_dev 2016-08-21 11:47:19 +01:00
driver.h
events.h iio: Export userspace IIO headers 2015-02-14 17:05:03 +00:00
iio.h iio: add resource managed triggered buffer init helpers 2016-09-04 15:42:46 +01:00
kfifo_buf.h iio: kfifo: Add resource management devm_iio_kfifo_allocate/free 2014-12-26 11:39:57 +00:00
machine.h
sw_device.h iio: sw-device: Fix config group initialization 2017-03-30 09:41:25 +02:00
sw_trigger.h iio: sw-trigger: Fix config group initialization 2016-08-15 15:39:09 +01:00
sysfs.h include: linux: iio: Add missing kernel doc field 2015-08-02 18:36:05 +01:00
trigger.h iio: trigger: helpers to determine own trigger 2016-09-10 16:49:14 +01:00
trigger_consumer.h
triggered_buffer.h iio: add resource managed triggered buffer init helpers 2016-09-04 15:42:46 +01:00
triggered_event.h iio: Support triggered events 2015-08-27 20:47:09 +01:00
types.h iio: core: add high pass filter attributes 2015-05-17 10:32:35 +01:00