summary refs log tree commit diff
path: root/drivers/mfd/tps65090.c
diff options
context:
space:
mode:
authorAxel Lin <axel.lin@gmail.com>2012-04-25 10:04:58 +0800
committerSamuel Ortiz <sameo@linux.intel.com>2012-05-09 17:51:26 +0200
commit1d88f7a01d9588b3298cfd6a2ec30538e96d166e (patch)
tree413c450cfcf65b0eb6f0ca06b24030847049a19c /drivers/mfd/tps65090.c
parent1092e1c761dd0dc92a431085e322956d91d057a6 (diff)
downloadlinux-1d88f7a01d9588b3298cfd6a2ec30538e96d166e.tar.gz
mfd: Convert tps65090 to devm_regmap_init_i2c()
Signed-off-by: Axel Lin <axel.lin@gmail.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
Diffstat (limited to 'drivers/mfd/tps65090.c')
-rw-r--r--drivers/mfd/tps65090.c10
1 files changed, 3 insertions, 7 deletions
diff --git a/drivers/mfd/tps65090.c b/drivers/mfd/tps65090.c
index d9940870a688..9ca4c44dfc62 100644
--- a/drivers/mfd/tps65090.c
+++ b/drivers/mfd/tps65090.c
@@ -294,8 +294,8 @@ static int __devinit tps65090_i2c_probe(struct i2c_client *client,
 		}
 	}
 
-	tps65090->rmap = regmap_init_i2c(tps65090->client,
-		&tps65090_regmap_config);
+	tps65090->rmap = devm_regmap_init_i2c(tps65090->client,
+					      &tps65090_regmap_config);
 	if (IS_ERR(tps65090->rmap)) {
 		ret = PTR_ERR(tps65090->rmap);
 		dev_err(&client->dev, "regmap_init failed with err: %d\n", ret);
@@ -307,14 +307,11 @@ static int __devinit tps65090_i2c_probe(struct i2c_client *client,
 	if (ret) {
 		dev_err(&client->dev, "add mfd devices failed with err: %d\n",
 			ret);
-		goto err_regmap_exit;
+		goto err_irq_exit;
 	}
 
 	return 0;
 
-err_regmap_exit:
-	regmap_exit(tps65090->rmap);
-
 err_irq_exit:
 	if (client->irq)
 		free_irq(client->irq, tps65090);
@@ -327,7 +324,6 @@ static int __devexit tps65090_i2c_remove(struct i2c_client *client)
 	struct tps65090 *tps65090 = i2c_get_clientdata(client);
 
 	mfd_remove_devices(tps65090->dev);
-	regmap_exit(tps65090->rmap);
 	if (client->irq)
 		free_irq(client->irq, tps65090);