diff options
-rw-r--r-- | drivers/mfd/wm8400-core.c | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/drivers/mfd/wm8400-core.c b/drivers/mfd/wm8400-core.c index 2204893444a6..237764ae5f9b 100644 --- a/drivers/mfd/wm8400-core.c +++ b/drivers/mfd/wm8400-core.c | |||
@@ -350,7 +350,7 @@ static int wm8400_i2c_probe(struct i2c_client *i2c, | |||
350 | goto err; | 350 | goto err; |
351 | } | 351 | } |
352 | 352 | ||
353 | wm8400->regmap = regmap_init_i2c(i2c, &wm8400_regmap_config); | 353 | wm8400->regmap = devm_regmap_init_i2c(i2c, &wm8400_regmap_config); |
354 | if (IS_ERR(wm8400->regmap)) { | 354 | if (IS_ERR(wm8400->regmap)) { |
355 | ret = PTR_ERR(wm8400->regmap); | 355 | ret = PTR_ERR(wm8400->regmap); |
356 | goto err; | 356 | goto err; |
@@ -361,12 +361,10 @@ static int wm8400_i2c_probe(struct i2c_client *i2c, | |||
361 | 361 | ||
362 | ret = wm8400_init(wm8400, i2c->dev.platform_data); | 362 | ret = wm8400_init(wm8400, i2c->dev.platform_data); |
363 | if (ret != 0) | 363 | if (ret != 0) |
364 | goto map_err; | 364 | goto err; |
365 | 365 | ||
366 | return 0; | 366 | return 0; |
367 | 367 | ||
368 | map_err: | ||
369 | regmap_exit(wm8400->regmap); | ||
370 | err: | 368 | err: |
371 | return ret; | 369 | return ret; |
372 | } | 370 | } |
@@ -376,7 +374,6 @@ static int wm8400_i2c_remove(struct i2c_client *i2c) | |||
376 | struct wm8400 *wm8400 = i2c_get_clientdata(i2c); | 374 | struct wm8400 *wm8400 = i2c_get_clientdata(i2c); |
377 | 375 | ||
378 | wm8400_release(wm8400); | 376 | wm8400_release(wm8400); |
379 | regmap_exit(wm8400->regmap); | ||
380 | 377 | ||
381 | return 0; | 378 | return 0; |
382 | } | 379 | } |