Skip to content

Commit

Permalink
ASoC: max9768: Use devm_regmap_init_i2c()
Browse files Browse the repository at this point in the history
devm_regmap_init_i2c() is device managed and makes error
handling and code cleanup simpler.

Signed-off-by: Sachin Kamat <[email protected]>
Signed-off-by: Mark Brown <[email protected]>
  • Loading branch information
Sachin Kamat authored and broonie committed Dec 2, 2012
1 parent 9489e9d commit 8f255e7
Showing 1 changed file with 2 additions and 5 deletions.
7 changes: 2 additions & 5 deletions sound/soc/codecs/max9768.c
Original file line number Diff line number Diff line change
Expand Up @@ -187,20 +187,18 @@ static int __devinit max9768_i2c_probe(struct i2c_client *client,

i2c_set_clientdata(client, max9768);

max9768->regmap = regmap_init_i2c(client, &max9768_i2c_regmap_config);
max9768->regmap = devm_regmap_init_i2c(client, &max9768_i2c_regmap_config);
if (IS_ERR(max9768->regmap)) {
err = PTR_ERR(max9768->regmap);
goto err_gpio_free;
}

err = snd_soc_register_codec(&client->dev, &max9768_codec_driver, NULL, 0);
if (err)
goto err_regmap_free;
goto err_gpio_free;

return 0;

err_regmap_free:
regmap_exit(max9768->regmap);
err_gpio_free:
if (gpio_is_valid(max9768->shdn_gpio))
gpio_free(max9768->shdn_gpio);
Expand All @@ -215,7 +213,6 @@ static int __devexit max9768_i2c_remove(struct i2c_client *client)
struct max9768 *max9768 = i2c_get_clientdata(client);

snd_soc_unregister_codec(&client->dev);
regmap_exit(max9768->regmap);

if (gpio_is_valid(max9768->shdn_gpio))
gpio_free(max9768->shdn_gpio);
Expand Down

0 comments on commit 8f255e7

Please sign in to comment.