aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSachin Kamat <sachin.kamat@linaro.org>2013-01-30 23:12:46 -0500
committerMauro Carvalho Chehab <mchehab@redhat.com>2013-02-05 14:54:22 -0500
commit33fba5de1e2318d301b84089e6468dedec9ad381 (patch)
tree654f1763e3515f0ac8253ca0f8cd4dfa50d9b4a9
parent0e23cbbe478809fe8499dab9b2a26bb6154c773b (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.c9
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
1662out_err3:
1663 regulator_bulk_free(S5C73M3_MAX_SUPPLIES, state->supplies);
1664out_err2: 1662out_err2:
1665 s5c73m3_free_gpios(state); 1663 s5c73m3_free_gpios(state);
1666out_err1: 1664out_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;