aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/staging/iio/gyro/adis16260_core.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/staging/iio/gyro/adis16260_core.c')
-rw-r--r--drivers/staging/iio/gyro/adis16260_core.c15
1 files changed, 6 insertions, 9 deletions
diff --git a/drivers/staging/iio/gyro/adis16260_core.c b/drivers/staging/iio/gyro/adis16260_core.c
index acd17e50df5..73157b21252 100644
--- a/drivers/staging/iio/gyro/adis16260_core.c
+++ b/drivers/staging/iio/gyro/adis16260_core.c
@@ -577,7 +577,7 @@ static const struct iio_info adis16260_info = {
577 577
578static int __devinit adis16260_probe(struct spi_device *spi) 578static int __devinit adis16260_probe(struct spi_device *spi)
579{ 579{
580 int ret, regdone = 0; 580 int ret;
581 struct adis16260_platform_data *pd = spi->dev.platform_data; 581 struct adis16260_platform_data *pd = spi->dev.platform_data;
582 struct adis16260_state *st; 582 struct adis16260_state *st;
583 struct iio_dev *indio_dev; 583 struct iio_dev *indio_dev;
@@ -625,10 +625,6 @@ static int __devinit adis16260_probe(struct spi_device *spi)
625 if (ret) 625 if (ret)
626 goto error_free_dev; 626 goto error_free_dev;
627 627
628 ret = iio_device_register(indio_dev);
629 if (ret)
630 goto error_unreg_ring_funcs;
631 regdone = 1;
632 ret = iio_ring_buffer_register(indio_dev, 628 ret = iio_ring_buffer_register(indio_dev,
633 indio_dev->channels, 629 indio_dev->channels,
634 ARRAY_SIZE(adis16260_channels_x)); 630 ARRAY_SIZE(adis16260_channels_x));
@@ -654,6 +650,10 @@ static int __devinit adis16260_probe(struct spi_device *spi)
654 ret = adis16260_initial_setup(indio_dev); 650 ret = adis16260_initial_setup(indio_dev);
655 if (ret) 651 if (ret)
656 goto error_remove_trigger; 652 goto error_remove_trigger;
653 ret = iio_device_register(indio_dev);
654 if (ret)
655 goto error_remove_trigger;
656
657 return 0; 657 return 0;
658 658
659error_remove_trigger: 659error_remove_trigger:
@@ -663,10 +663,7 @@ error_uninitialize_ring:
663error_unreg_ring_funcs: 663error_unreg_ring_funcs:
664 adis16260_unconfigure_ring(indio_dev); 664 adis16260_unconfigure_ring(indio_dev);
665error_free_dev: 665error_free_dev:
666 if (regdone) 666 iio_free_device(indio_dev);
667 iio_device_unregister(indio_dev);
668 else
669 iio_free_device(indio_dev);
670error_ret: 667error_ret:
671 return ret; 668 return ret;
672} 669}