aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/iio
diff options
context:
space:
mode:
authorSachin Kamat <sachin.kamat@linaro.org>2013-08-19 07:38:00 -0400
committerJonathan Cameron <jic23@kernel.org>2013-08-19 15:32:53 -0400
commitfd047294e279779c36cbca589d9fef06e881e67a (patch)
tree7f6b2d989a55e0305527294b67ae82be1283f9a3 /drivers/iio
parentedf3fd4141f17fa81497e7417aba7a45d1a36af9 (diff)
iio: dac: ad5755: Use devm_iio_device_alloc
Using devm_iio_device_alloc makes code simpler. Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Signed-off-by: Jonathan Cameron <jic23@kernel.org>
Diffstat (limited to 'drivers/iio')
-rw-r--r--drivers/iio/dac/ad5755.c14
1 files changed, 4 insertions, 10 deletions
diff --git a/drivers/iio/dac/ad5755.c b/drivers/iio/dac/ad5755.c
index 12bb315e55f8..36a4361aece1 100644
--- a/drivers/iio/dac/ad5755.c
+++ b/drivers/iio/dac/ad5755.c
@@ -565,7 +565,7 @@ static int ad5755_probe(struct spi_device *spi)
565 struct ad5755_state *st; 565 struct ad5755_state *st;
566 int ret; 566 int ret;
567 567
568 indio_dev = iio_device_alloc(sizeof(*st)); 568 indio_dev = devm_iio_device_alloc(&spi->dev, sizeof(*st));
569 if (indio_dev == NULL) { 569 if (indio_dev == NULL) {
570 dev_err(&spi->dev, "Failed to allocate iio device\n"); 570 dev_err(&spi->dev, "Failed to allocate iio device\n");
571 return -ENOMEM; 571 return -ENOMEM;
@@ -589,24 +589,19 @@ static int ad5755_probe(struct spi_device *spi)
589 589
590 ret = ad5755_init_channels(indio_dev, pdata); 590 ret = ad5755_init_channels(indio_dev, pdata);
591 if (ret) 591 if (ret)
592 goto error_free; 592 return ret;
593 593
594 ret = ad5755_setup_pdata(indio_dev, pdata); 594 ret = ad5755_setup_pdata(indio_dev, pdata);
595 if (ret) 595 if (ret)
596 goto error_free; 596 return ret;
597 597
598 ret = iio_device_register(indio_dev); 598 ret = iio_device_register(indio_dev);
599 if (ret) { 599 if (ret) {
600 dev_err(&spi->dev, "Failed to register iio device: %d\n", ret); 600 dev_err(&spi->dev, "Failed to register iio device: %d\n", ret);
601 goto error_free; 601 return ret;
602 } 602 }
603 603
604 return 0; 604 return 0;
605
606error_free:
607 iio_device_free(indio_dev);
608
609 return ret;
610} 605}
611 606
612static int ad5755_remove(struct spi_device *spi) 607static int ad5755_remove(struct spi_device *spi)
@@ -614,7 +609,6 @@ static int ad5755_remove(struct spi_device *spi)
614 struct iio_dev *indio_dev = spi_get_drvdata(spi); 609 struct iio_dev *indio_dev = spi_get_drvdata(spi);
615 610
616 iio_device_unregister(indio_dev); 611 iio_device_unregister(indio_dev);
617 iio_device_free(indio_dev);
618 612
619 return 0; 613 return 0;
620} 614}