diff options
Diffstat (limited to 'drivers/iio/accel/ssp_accel_sensor.c')
| -rw-r--r-- | drivers/iio/accel/ssp_accel_sensor.c | 14 | 
1 files changed, 5 insertions, 9 deletions
| diff --git a/drivers/iio/accel/ssp_accel_sensor.c b/drivers/iio/accel/ssp_accel_sensor.c index 474477e91b5e..04dcb2b657ee 100644 --- a/drivers/iio/accel/ssp_accel_sensor.c +++ b/drivers/iio/accel/ssp_accel_sensor.c @@ -96,7 +96,6 @@ static int ssp_accel_probe(struct platform_device *pdev)  	int ret;  	struct iio_dev *indio_dev;  	struct ssp_sensor_data *spd; -	struct iio_buffer *buffer;  	indio_dev = devm_iio_device_alloc(&pdev->dev, sizeof(*spd));  	if (!indio_dev) @@ -109,18 +108,15 @@ static int ssp_accel_probe(struct platform_device *pdev)  	indio_dev->name = ssp_accel_device_name;  	indio_dev->info = &ssp_accel_iio_info; -	indio_dev->modes = INDIO_BUFFER_SOFTWARE;  	indio_dev->channels = ssp_acc_channels;  	indio_dev->num_channels = ARRAY_SIZE(ssp_acc_channels);  	indio_dev->available_scan_masks = ssp_accel_scan_mask; -	buffer = devm_iio_kfifo_allocate(&pdev->dev); -	if (!buffer) -		return -ENOMEM; - -	iio_device_attach_buffer(indio_dev, buffer); - -	indio_dev->setup_ops = &ssp_accel_buffer_ops; +	ret = devm_iio_kfifo_buffer_setup(&pdev->dev, indio_dev, +					  INDIO_BUFFER_SOFTWARE, +					  &ssp_accel_buffer_ops); +	if (ret) +		return ret;  	platform_set_drvdata(pdev, indio_dev); | 
