diff options
author | Sachin Kamat <sachin.kamat@linaro.org> | 2013-08-19 07:38:00 -0400 |
---|---|---|
committer | Jonathan Cameron <jic23@kernel.org> | 2013-08-19 15:32:53 -0400 |
commit | fd047294e279779c36cbca589d9fef06e881e67a (patch) | |
tree | 7f6b2d989a55e0305527294b67ae82be1283f9a3 /drivers/iio | |
parent | edf3fd4141f17fa81497e7417aba7a45d1a36af9 (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.c | 14 |
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 | |||
606 | error_free: | ||
607 | iio_device_free(indio_dev); | ||
608 | |||
609 | return ret; | ||
610 | } | 605 | } |
611 | 606 | ||
612 | static int ad5755_remove(struct spi_device *spi) | 607 | static 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 | } |