ASoC: max9768: Use devm_regmap_init_i2c()
devm_regmap_init_i2c() is device managed and makes error handling and code cleanup simpler. Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
This commit is contained in:
parent
9489e9dcae
commit
8f255e7ba3
1 changed files with 2 additions and 5 deletions
|
@ -187,7 +187,7 @@ 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;
|
||||
|
@ -195,12 +195,10 @@ static int __devinit max9768_i2c_probe(struct i2c_client *client,
|
|||
|
||||
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);
|
||||
|
@ -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);
|
||||
|
|
Loading…
Reference in a new issue