aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/staging/iio/accel/adis16204_core.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/staging/iio/accel/adis16204_core.c')
-rw-r--r--drivers/staging/iio/accel/adis16204_core.c16
1 files changed, 6 insertions, 10 deletions
diff --git a/drivers/staging/iio/accel/adis16204_core.c b/drivers/staging/iio/accel/adis16204_core.c
index 42a37bb0136..e0b87840133 100644
--- a/drivers/staging/iio/accel/adis16204_core.c
+++ b/drivers/staging/iio/accel/adis16204_core.c
@@ -494,7 +494,7 @@ static const struct iio_info adis16204_info = {
494 494
495static int __devinit adis16204_probe(struct spi_device *spi) 495static int __devinit adis16204_probe(struct spi_device *spi)
496{ 496{
497 int ret, regdone = 0; 497 int ret;
498 struct adis16204_state *st; 498 struct adis16204_state *st;
499 struct iio_dev *indio_dev; 499 struct iio_dev *indio_dev;
500 500
@@ -521,11 +521,6 @@ static int __devinit adis16204_probe(struct spi_device *spi)
521 if (ret) 521 if (ret)
522 goto error_free_dev; 522 goto error_free_dev;
523 523
524 ret = iio_device_register(indio_dev);
525 if (ret)
526 goto error_unreg_ring_funcs;
527 regdone = 1;
528
529 ret = iio_ring_buffer_register(indio_dev, 524 ret = iio_ring_buffer_register(indio_dev,
530 adis16204_channels, 525 adis16204_channels,
531 ARRAY_SIZE(adis16204_channels)); 526 ARRAY_SIZE(adis16204_channels));
@@ -544,6 +539,10 @@ static int __devinit adis16204_probe(struct spi_device *spi)
544 ret = adis16204_initial_setup(indio_dev); 539 ret = adis16204_initial_setup(indio_dev);
545 if (ret) 540 if (ret)
546 goto error_remove_trigger; 541 goto error_remove_trigger;
542 ret = iio_device_register(indio_dev);
543 if (ret)
544 goto error_remove_trigger;
545
547 return 0; 546 return 0;
548 547
549error_remove_trigger: 548error_remove_trigger:
@@ -553,10 +552,7 @@ error_uninitialize_ring:
553error_unreg_ring_funcs: 552error_unreg_ring_funcs:
554 adis16204_unconfigure_ring(indio_dev); 553 adis16204_unconfigure_ring(indio_dev);
555error_free_dev: 554error_free_dev:
556 if (regdone) 555 iio_free_device(indio_dev);
557 iio_device_unregister(indio_dev);
558 else
559 iio_free_device(indio_dev);
560error_ret: 556error_ret:
561 return ret; 557 return ret;
562} 558}