aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/mfd/rc5t583.c
diff options
context:
space:
mode:
authorAxel Lin <axel.lin@gmail.com>2012-04-24 22:01:55 -0400
committerSamuel Ortiz <sameo@linux.intel.com>2012-05-09 11:50:29 -0400
commitf8dddc0cfe9f56ed74fd5efde8d0754f5fb73a3f (patch)
treeccf9daef0e43c75d91cddb18b6343ace8205dc78 /drivers/mfd/rc5t583.c
parentb683a0a675560307ebc458cf9044d98d27820b7c (diff)
mfd: Convert rc5t583 to devm_regmap_init_i2c()
Signed-off-by: Axel Lin <axel.lin@gmail.com> Acked-by: Laxman Dewangan <ldewangan@nvidia.com> Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
Diffstat (limited to 'drivers/mfd/rc5t583.c')
-rw-r--r--drivers/mfd/rc5t583.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/drivers/mfd/rc5t583.c b/drivers/mfd/rc5t583.c
index 1cb4c356afd5..cdc1df7fa0e9 100644
--- a/drivers/mfd/rc5t583.c
+++ b/drivers/mfd/rc5t583.c
@@ -268,7 +268,7 @@ static int __devinit rc5t583_i2c_probe(struct i2c_client *i2c,
268 rc5t583->dev = &i2c->dev; 268 rc5t583->dev = &i2c->dev;
269 i2c_set_clientdata(i2c, rc5t583); 269 i2c_set_clientdata(i2c, rc5t583);
270 270
271 rc5t583->regmap = regmap_init_i2c(i2c, &rc5t583_regmap_config); 271 rc5t583->regmap = devm_regmap_init_i2c(i2c, &rc5t583_regmap_config);
272 if (IS_ERR(rc5t583->regmap)) { 272 if (IS_ERR(rc5t583->regmap)) {
273 ret = PTR_ERR(rc5t583->regmap); 273 ret = PTR_ERR(rc5t583->regmap);
274 dev_err(&i2c->dev, "regmap initialization failed: %d\n", ret); 274 dev_err(&i2c->dev, "regmap initialization failed: %d\n", ret);
@@ -277,7 +277,7 @@ static int __devinit rc5t583_i2c_probe(struct i2c_client *i2c,
277 277
278 ret = rc5t583_clear_ext_power_req(rc5t583, pdata); 278 ret = rc5t583_clear_ext_power_req(rc5t583, pdata);
279 if (ret < 0) 279 if (ret < 0)
280 goto err_irq_init; 280 return ret;
281 281
282 if (i2c->irq) { 282 if (i2c->irq) {
283 ret = rc5t583_irq_init(rc5t583, i2c->irq, pdata->irq_base); 283 ret = rc5t583_irq_init(rc5t583, i2c->irq, pdata->irq_base);
@@ -300,8 +300,6 @@ static int __devinit rc5t583_i2c_probe(struct i2c_client *i2c,
300err_add_devs: 300err_add_devs:
301 if (irq_init_success) 301 if (irq_init_success)
302 rc5t583_irq_exit(rc5t583); 302 rc5t583_irq_exit(rc5t583);
303err_irq_init:
304 regmap_exit(rc5t583->regmap);
305 return ret; 303 return ret;
306} 304}
307 305
@@ -311,7 +309,6 @@ static int __devexit rc5t583_i2c_remove(struct i2c_client *i2c)
311 309
312 mfd_remove_devices(rc5t583->dev); 310 mfd_remove_devices(rc5t583->dev);
313 rc5t583_irq_exit(rc5t583); 311 rc5t583_irq_exit(rc5t583);
314 regmap_exit(rc5t583->regmap);
315 return 0; 312 return 0;
316} 313}
317 314