aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/iio
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/iio')
-rw-r--r--drivers/iio/gyro/adis16136.c10
1 files changed, 3 insertions, 7 deletions
diff --git a/drivers/iio/gyro/adis16136.c b/drivers/iio/gyro/adis16136.c
index 058e6d5c955f..591bd555e1f3 100644
--- a/drivers/iio/gyro/adis16136.c
+++ b/drivers/iio/gyro/adis16136.c
@@ -497,7 +497,7 @@ static int adis16136_probe(struct spi_device *spi)
497 struct iio_dev *indio_dev; 497 struct iio_dev *indio_dev;
498 int ret; 498 int ret;
499 499
500 indio_dev = iio_device_alloc(sizeof(*adis16136)); 500 indio_dev = devm_iio_device_alloc(&spi->dev, sizeof(*adis16136));
501 if (indio_dev == NULL) 501 if (indio_dev == NULL)
502 return -ENOMEM; 502 return -ENOMEM;
503 503
@@ -515,11 +515,11 @@ static int adis16136_probe(struct spi_device *spi)
515 515
516 ret = adis_init(&adis16136->adis, indio_dev, spi, &adis16136_data); 516 ret = adis_init(&adis16136->adis, indio_dev, spi, &adis16136_data);
517 if (ret) 517 if (ret)
518 goto error_free_dev; 518 return ret;
519 519
520 ret = adis_setup_buffer_and_trigger(&adis16136->adis, indio_dev, NULL); 520 ret = adis_setup_buffer_and_trigger(&adis16136->adis, indio_dev, NULL);
521 if (ret) 521 if (ret)
522 goto error_free_dev; 522 return ret;
523 523
524 ret = adis16136_initial_setup(indio_dev); 524 ret = adis16136_initial_setup(indio_dev);
525 if (ret) 525 if (ret)
@@ -537,8 +537,6 @@ error_stop_device:
537 adis16136_stop_device(indio_dev); 537 adis16136_stop_device(indio_dev);
538error_cleanup_buffer: 538error_cleanup_buffer:
539 adis_cleanup_buffer_and_trigger(&adis16136->adis, indio_dev); 539 adis_cleanup_buffer_and_trigger(&adis16136->adis, indio_dev);
540error_free_dev:
541 iio_device_free(indio_dev);
542 return ret; 540 return ret;
543} 541}
544 542
@@ -552,8 +550,6 @@ static int adis16136_remove(struct spi_device *spi)
552 550
553 adis_cleanup_buffer_and_trigger(&adis16136->adis, indio_dev); 551 adis_cleanup_buffer_and_trigger(&adis16136->adis, indio_dev);
554 552
555 iio_device_free(indio_dev);
556
557 return 0; 553 return 0;
558} 554}
559 555