diff options
author | Sachin Kamat <sachin.kamat@linaro.org> | 2013-01-30 23:12:46 -0500 |
---|---|---|
committer | Mauro Carvalho Chehab <mchehab@redhat.com> | 2013-02-05 14:54:22 -0500 |
commit | 33fba5de1e2318d301b84089e6468dedec9ad381 (patch) | |
tree | 654f1763e3515f0ac8253ca0f8cd4dfa50d9b4a9 | |
parent | 0e23cbbe478809fe8499dab9b2a26bb6154c773b (diff) |
[media] s5c73m3: Use devm_regulator_bulk_get API
devm_regulator_bulk_get saves some cleanup and exit code.
Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@redhat.com>
-rw-r--r-- | drivers/media/i2c/s5c73m3/s5c73m3-core.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/drivers/media/i2c/s5c73m3/s5c73m3-core.c b/drivers/media/i2c/s5c73m3/s5c73m3-core.c index b063b4ddf767..c143c9ec7ba9 100644 --- a/drivers/media/i2c/s5c73m3/s5c73m3-core.c +++ b/drivers/media/i2c/s5c73m3/s5c73m3-core.c | |||
@@ -1627,7 +1627,7 @@ static int __devinit s5c73m3_probe(struct i2c_client *client, | |||
1627 | for (i = 0; i < S5C73M3_MAX_SUPPLIES; i++) | 1627 | for (i = 0; i < S5C73M3_MAX_SUPPLIES; i++) |
1628 | state->supplies[i].supply = s5c73m3_supply_names[i]; | 1628 | state->supplies[i].supply = s5c73m3_supply_names[i]; |
1629 | 1629 | ||
1630 | ret = regulator_bulk_get(dev, S5C73M3_MAX_SUPPLIES, | 1630 | ret = devm_regulator_bulk_get(dev, S5C73M3_MAX_SUPPLIES, |
1631 | state->supplies); | 1631 | state->supplies); |
1632 | if (ret) { | 1632 | if (ret) { |
1633 | dev_err(dev, "failed to get regulators\n"); | 1633 | dev_err(dev, "failed to get regulators\n"); |
@@ -1636,7 +1636,7 @@ static int __devinit s5c73m3_probe(struct i2c_client *client, | |||
1636 | 1636 | ||
1637 | ret = s5c73m3_init_controls(state); | 1637 | ret = s5c73m3_init_controls(state); |
1638 | if (ret) | 1638 | if (ret) |
1639 | goto out_err3; | 1639 | goto out_err2; |
1640 | 1640 | ||
1641 | state->sensor_pix_size[RES_ISP] = &s5c73m3_isp_resolutions[1]; | 1641 | state->sensor_pix_size[RES_ISP] = &s5c73m3_isp_resolutions[1]; |
1642 | state->sensor_pix_size[RES_JPEG] = &s5c73m3_jpeg_resolutions[1]; | 1642 | state->sensor_pix_size[RES_JPEG] = &s5c73m3_jpeg_resolutions[1]; |
@@ -1652,15 +1652,13 @@ static int __devinit s5c73m3_probe(struct i2c_client *client, | |||
1652 | 1652 | ||
1653 | ret = s5c73m3_register_spi_driver(state); | 1653 | ret = s5c73m3_register_spi_driver(state); |
1654 | if (ret < 0) | 1654 | if (ret < 0) |
1655 | goto out_err3; | 1655 | goto out_err2; |
1656 | 1656 | ||
1657 | state->i2c_client = client; | 1657 | state->i2c_client = client; |
1658 | 1658 | ||
1659 | v4l2_info(sd, "%s: completed succesfully\n", __func__); | 1659 | v4l2_info(sd, "%s: completed succesfully\n", __func__); |
1660 | return 0; | 1660 | return 0; |
1661 | 1661 | ||
1662 | out_err3: | ||
1663 | regulator_bulk_free(S5C73M3_MAX_SUPPLIES, state->supplies); | ||
1664 | out_err2: | 1662 | out_err2: |
1665 | s5c73m3_free_gpios(state); | 1663 | s5c73m3_free_gpios(state); |
1666 | out_err1: | 1664 | out_err1: |
@@ -1679,7 +1677,6 @@ static int __devexit s5c73m3_remove(struct i2c_client *client) | |||
1679 | media_entity_cleanup(&sd->entity); | 1677 | media_entity_cleanup(&sd->entity); |
1680 | 1678 | ||
1681 | s5c73m3_unregister_spi_driver(state); | 1679 | s5c73m3_unregister_spi_driver(state); |
1682 | regulator_bulk_free(S5C73M3_MAX_SUPPLIES, state->supplies); | ||
1683 | s5c73m3_free_gpios(state); | 1680 | s5c73m3_free_gpios(state); |
1684 | 1681 | ||
1685 | return 0; | 1682 | return 0; |