| From | Greg Kroah-Hartman <> | Subject | [PATCH 4.4 043/137] iio:adc:ti_am335x_adc Fix buffered mode by identifying as software buffer. | Date | Tue, 23 Feb 2016 19:32:54 -0800 |
| |
4.4-stable review patch. If anyone has any objections, please let me know.
------------------
From: Jonathan Cameron <jic23@kernel.org>
commit 9d0be85d4e2cfa2519ae16efe7ff4a7150c43c0b upstream.
Whilst this part has a hardware buffer, the identifcation that IIO cares about is the userspace facing end. It this case we push individual elements from the hardware fifo into the software interface (specifically a kfifo) rather than providing direct reads through to a hardware buffer (as we still do in the sca3000 for example).
Technically the original specification as a hardware buffer could be considered wrong, but it didn't matter until the patch listed below.
Result is that any attempt to enable the buffer will return -EINVAL
Fixes: 225d59adf1c8 ("iio: Specify supported modes for buffers") Signed-off-by: Jonathan Cameron <jic23@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
--- drivers/iio/adc/ti_am335x_adc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
--- a/drivers/iio/adc/ti_am335x_adc.c +++ b/drivers/iio/adc/ti_am335x_adc.c @@ -289,7 +289,7 @@ static int tiadc_iio_buffered_hardware_s goto error_kfifo_free; indio_dev->setup_ops = setup_ops; - indio_dev->modes |= INDIO_BUFFER_HARDWARE; + indio_dev->modes |= INDIO_BUFFER_SOFTWARE; return 0;
|