Commit e03ed893 authored by Alexandru Ardelean's avatar Alexandru Ardelean Committed by Jonathan Cameron

iio: accel: sca3000: use devm_iio_kfifo_buffer_setup() helper

This change makes use of the devm_iio_kfifo_buffer_setup() helper, however
the unwind order is changed.
The life-time of the kfifo object is attached to the parent device object.
This is to make the driver a bit more consistent with the other IIO
drivers, even though (as it is now before this change) it shouldn't be a
problem.
Signed-off-by: default avatarAlexandru Ardelean <alexandru.ardelean@analog.com>
Link: https://lore.kernel.org/r/20210215104043.91251-5-alexandru.ardelean@analog.comSigned-off-by: default avatarJonathan Cameron <Jonathan.Cameron@huawei.com>
parent 17395ce2
...@@ -1272,20 +1272,6 @@ static int sca3000_write_event_config(struct iio_dev *indio_dev, ...@@ -1272,20 +1272,6 @@ static int sca3000_write_event_config(struct iio_dev *indio_dev,
return ret; return ret;
} }
static int sca3000_configure_ring(struct iio_dev *indio_dev)
{
struct iio_buffer *buffer;
buffer = devm_iio_kfifo_allocate(&indio_dev->dev);
if (!buffer)
return -ENOMEM;
iio_device_attach_buffer(indio_dev, buffer);
indio_dev->modes |= INDIO_BUFFER_SOFTWARE;
return 0;
}
static inline static inline
int __sca3000_hw_ring_state_set(struct iio_dev *indio_dev, bool state) int __sca3000_hw_ring_state_set(struct iio_dev *indio_dev, bool state)
{ {
...@@ -1479,7 +1465,9 @@ static int sca3000_probe(struct spi_device *spi) ...@@ -1479,7 +1465,9 @@ static int sca3000_probe(struct spi_device *spi)
} }
indio_dev->modes = INDIO_DIRECT_MODE; indio_dev->modes = INDIO_DIRECT_MODE;
ret = sca3000_configure_ring(indio_dev); ret = devm_iio_kfifo_buffer_setup(&spi->dev, indio_dev,
INDIO_BUFFER_SOFTWARE,
&sca3000_ring_setup_ops);
if (ret) if (ret)
return ret; return ret;
...@@ -1493,7 +1481,6 @@ static int sca3000_probe(struct spi_device *spi) ...@@ -1493,7 +1481,6 @@ static int sca3000_probe(struct spi_device *spi)
if (ret) if (ret)
return ret; return ret;
} }
indio_dev->setup_ops = &sca3000_ring_setup_ops;
ret = sca3000_clean_setup(st); ret = sca3000_clean_setup(st);
if (ret) if (ret)
goto error_free_irq; goto error_free_irq;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment