[1/1] ASoC: tpa6130a2: Use devm_* APIs

Message ID 1354878146-28222-1-git-send-email-sachin.kamat@linaro.org
State Accepted
Headers show

Commit Message

Sachin Kamat Dec. 7, 2012, 11:02 a.m.
Converted to use devm_gpio_request and devm_regulator_get APIs.
These are device managed and make error handling and cleanup
a bit simpler.

Cc: Peter Ujfalusi <peter.ujfalusi@ti.com>
Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
---
Compile tested on for-next branch of following tree:
git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound.git
---
 sound/soc/codecs/tpa6130a2.c |   23 ++++++-----------------
 1 files changed, 6 insertions(+), 17 deletions(-)

Comments

Mark Brown Dec. 9, 2012, 3:17 p.m. | #1
On Fri, Dec 07, 2012 at 04:32:26PM +0530, Sachin Kamat wrote:
> Converted to use devm_gpio_request and devm_regulator_get APIs.
> These are device managed and make error handling and cleanup
> a bit simpler.

Applied, thanks.
Sachin Kamat Dec. 12, 2012, 11:28 a.m. | #2
Hi Mark,

On 9 December 2012 20:47, Mark Brown
<broonie@opensource.wolfsonmicro.com> wrote:
> On Fri, Dec 07, 2012 at 04:32:26PM +0530, Sachin Kamat wrote:
>> Converted to use devm_gpio_request and devm_regulator_get APIs.
>> These are device managed and make error handling and cleanup
>> a bit simpler.
>
> Applied, thanks.

This patch is missing in your tree.
Mark Brown Dec. 13, 2012, 2:33 a.m. | #3
> This patch is missing in your tree.

Don't send contentless pings.

Patch

diff --git a/sound/soc/codecs/tpa6130a2.c b/sound/soc/codecs/tpa6130a2.c
index 565ff39..ec78073 100644
--- a/sound/soc/codecs/tpa6130a2.c
+++ b/sound/soc/codecs/tpa6130a2.c
@@ -398,7 +398,8 @@  static int __devinit tpa6130a2_probe(struct i2c_client *client,
 						TPA6130A2_MUTE_L;
 
 	if (data->power_gpio >= 0) {
-		ret = gpio_request(data->power_gpio, "tpa6130a2 enable");
+		ret = devm_gpio_request(dev, data->power_gpio,
+					"tpa6130a2 enable");
 		if (ret < 0) {
 			dev_err(dev, "Failed to request power GPIO (%d)\n",
 				data->power_gpio);
@@ -419,16 +420,16 @@  static int __devinit tpa6130a2_probe(struct i2c_client *client,
 		break;
 	}
 
-	data->supply = regulator_get(dev, regulator);
+	data->supply = devm_regulator_get(dev, regulator);
 	if (IS_ERR(data->supply)) {
 		ret = PTR_ERR(data->supply);
 		dev_err(dev, "Failed to request supply: %d\n", ret);
-		goto err_regulator;
+		goto err_gpio;
 	}
 
 	ret = tpa6130a2_power(1);
 	if (ret != 0)
-		goto err_power;
+		goto err_gpio;
 
 
 	/* Read version */
@@ -440,15 +441,10 @@  static int __devinit tpa6130a2_probe(struct i2c_client *client,
 	/* Disable the chip */
 	ret = tpa6130a2_power(0);
 	if (ret != 0)
-		goto err_power;
+		goto err_gpio;
 
 	return 0;
 
-err_power:
-	regulator_put(data->supply);
-err_regulator:
-	if (data->power_gpio >= 0)
-		gpio_free(data->power_gpio);
 err_gpio:
 	tpa6130a2_client = NULL;
 
@@ -457,14 +453,7 @@  err_gpio:
 
 static int __devexit tpa6130a2_remove(struct i2c_client *client)
 {
-	struct tpa6130a2_data *data = i2c_get_clientdata(client);
-
 	tpa6130a2_power(0);
-
-	if (data->power_gpio >= 0)
-		gpio_free(data->power_gpio);
-
-	regulator_put(data->supply);
 	tpa6130a2_client = NULL;
 
 	return 0;