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:22:44 -0400 |
commit | 400d36e68de56135223ace631f4bb067d9ccb44d (patch) | |
tree | b9f868b1e5b2dce6cd84b584fdf21c7fe897eb1a | |
parent | c367982ad9b927ec1b1fd66a462b72950fe5370b (diff) |
iio: dac: ad5360: Use devm_* APIs
devm_* APIs are device managed and make code simpler.
Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
-rw-r--r-- | drivers/iio/dac/ad5360.c | 15 |
1 files changed, 4 insertions, 11 deletions
diff --git a/drivers/iio/dac/ad5360.c b/drivers/iio/dac/ad5360.c index 80923af424f2..d2da71ece740 100644 --- a/drivers/iio/dac/ad5360.c +++ b/drivers/iio/dac/ad5360.c | |||
@@ -459,7 +459,7 @@ static int ad5360_probe(struct spi_device *spi) | |||
459 | unsigned int i; | 459 | unsigned int i; |
460 | int ret; | 460 | int ret; |
461 | 461 | ||
462 | indio_dev = iio_device_alloc(sizeof(*st)); | 462 | indio_dev = devm_iio_device_alloc(&spi->dev, sizeof(*st)); |
463 | if (indio_dev == NULL) { | 463 | if (indio_dev == NULL) { |
464 | dev_err(&spi->dev, "Failed to allocate iio device\n"); | 464 | dev_err(&spi->dev, "Failed to allocate iio device\n"); |
465 | return -ENOMEM; | 465 | return -ENOMEM; |
@@ -480,13 +480,13 @@ static int ad5360_probe(struct spi_device *spi) | |||
480 | ret = ad5360_alloc_channels(indio_dev); | 480 | ret = ad5360_alloc_channels(indio_dev); |
481 | if (ret) { | 481 | if (ret) { |
482 | dev_err(&spi->dev, "Failed to allocate channel spec: %d\n", ret); | 482 | dev_err(&spi->dev, "Failed to allocate channel spec: %d\n", ret); |
483 | goto error_free; | 483 | return ret; |
484 | } | 484 | } |
485 | 485 | ||
486 | for (i = 0; i < st->chip_info->num_vrefs; ++i) | 486 | for (i = 0; i < st->chip_info->num_vrefs; ++i) |
487 | st->vref_reg[i].supply = ad5360_vref_name[i]; | 487 | st->vref_reg[i].supply = ad5360_vref_name[i]; |
488 | 488 | ||
489 | ret = regulator_bulk_get(&st->spi->dev, st->chip_info->num_vrefs, | 489 | ret = devm_regulator_bulk_get(&st->spi->dev, st->chip_info->num_vrefs, |
490 | st->vref_reg); | 490 | st->vref_reg); |
491 | if (ret) { | 491 | if (ret) { |
492 | dev_err(&spi->dev, "Failed to request vref regulators: %d\n", ret); | 492 | dev_err(&spi->dev, "Failed to request vref regulators: %d\n", ret); |
@@ -496,7 +496,7 @@ static int ad5360_probe(struct spi_device *spi) | |||
496 | ret = regulator_bulk_enable(st->chip_info->num_vrefs, st->vref_reg); | 496 | ret = regulator_bulk_enable(st->chip_info->num_vrefs, st->vref_reg); |
497 | if (ret) { | 497 | if (ret) { |
498 | dev_err(&spi->dev, "Failed to enable vref regulators: %d\n", ret); | 498 | dev_err(&spi->dev, "Failed to enable vref regulators: %d\n", ret); |
499 | goto error_free_reg; | 499 | goto error_free_channels; |
500 | } | 500 | } |
501 | 501 | ||
502 | ret = iio_device_register(indio_dev); | 502 | ret = iio_device_register(indio_dev); |
@@ -509,12 +509,8 @@ static int ad5360_probe(struct spi_device *spi) | |||
509 | 509 | ||
510 | error_disable_reg: | 510 | error_disable_reg: |
511 | regulator_bulk_disable(st->chip_info->num_vrefs, st->vref_reg); | 511 | regulator_bulk_disable(st->chip_info->num_vrefs, st->vref_reg); |
512 | error_free_reg: | ||
513 | regulator_bulk_free(st->chip_info->num_vrefs, st->vref_reg); | ||
514 | error_free_channels: | 512 | error_free_channels: |
515 | kfree(indio_dev->channels); | 513 | kfree(indio_dev->channels); |
516 | error_free: | ||
517 | iio_device_free(indio_dev); | ||
518 | 514 | ||
519 | return ret; | 515 | return ret; |
520 | } | 516 | } |
@@ -529,9 +525,6 @@ static int ad5360_remove(struct spi_device *spi) | |||
529 | kfree(indio_dev->channels); | 525 | kfree(indio_dev->channels); |
530 | 526 | ||
531 | regulator_bulk_disable(st->chip_info->num_vrefs, st->vref_reg); | 527 | regulator_bulk_disable(st->chip_info->num_vrefs, st->vref_reg); |
532 | regulator_bulk_free(st->chip_info->num_vrefs, st->vref_reg); | ||
533 | |||
534 | iio_device_free(indio_dev); | ||
535 | 528 | ||
536 | return 0; | 529 | return 0; |
537 | } | 530 | } |