aboutsummaryrefslogtreecommitdiffstats
path: root/sound
diff options
context:
space:
mode:
authorLars-Peter Clausen <lars@metafoo.de>2015-07-16 21:22:51 +0200
committerMark Brown <broonie@kernel.org>2015-07-16 21:36:23 +0100
commitd79cca1a994f6f4f1cf3d92909f2a73df6b84874 (patch)
tree6d2c4e11f7370c08dd9afdc80232626822af7394 /sound
parentASoC: drivers: Drop owner assignment from i2c_driver (diff)
downloadlinux-dev-d79cca1a994f6f4f1cf3d92909f2a73df6b84874.tar.xz
linux-dev-d79cca1a994f6f4f1cf3d92909f2a73df6b84874.zip
ASoC: max9768: Use managed gpio request
Makes the code a bit shorter and simpler. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'sound')
-rw-r--r--sound/soc/codecs/max9768.c34
1 files changed, 8 insertions, 26 deletions
diff --git a/sound/soc/codecs/max9768.c b/sound/soc/codecs/max9768.c
index 1526aef2f2a9..d70a8205c6ad 100644
--- a/sound/soc/codecs/max9768.c
+++ b/sound/soc/codecs/max9768.c
@@ -183,11 +183,13 @@ static int max9768_i2c_probe(struct i2c_client *client,
if (pdata) {
/* Mute on powerup to avoid clicks */
- err = gpio_request_one(pdata->mute_gpio, GPIOF_INIT_HIGH, "MAX9768 Mute");
+ err = devm_gpio_request_one(&client->dev, pdata->mute_gpio,
+ GPIOF_INIT_HIGH, "MAX9768 Mute");
max9768->mute_gpio = err ?: pdata->mute_gpio;
/* Activate chip by releasing shutdown, enables I2C */
- err = gpio_request_one(pdata->shdn_gpio, GPIOF_INIT_HIGH, "MAX9768 Shutdown");
+ err = devm_gpio_request_one(&client->dev, pdata->shdn_gpio,
+ GPIOF_INIT_HIGH, "MAX9768 Shutdown");
max9768->shdn_gpio = err ?: pdata->shdn_gpio;
max9768->flags = pdata->flags;
@@ -199,37 +201,17 @@ static int max9768_i2c_probe(struct i2c_client *client,
i2c_set_clientdata(client, max9768);
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_gpio_free;
-
- return 0;
+ if (IS_ERR(max9768->regmap))
+ return PTR_ERR(max9768->regmap);
- err_gpio_free:
- if (gpio_is_valid(max9768->shdn_gpio))
- gpio_free(max9768->shdn_gpio);
- if (gpio_is_valid(max9768->mute_gpio))
- gpio_free(max9768->mute_gpio);
-
- return err;
+ return snd_soc_register_codec(&client->dev, &max9768_codec_driver,
+ NULL, 0);
}
static int max9768_i2c_remove(struct i2c_client *client)
{
- struct max9768 *max9768 = i2c_get_clientdata(client);
-
snd_soc_unregister_codec(&client->dev);
- if (gpio_is_valid(max9768->shdn_gpio))
- gpio_free(max9768->shdn_gpio);
- if (gpio_is_valid(max9768->mute_gpio))
- gpio_free(max9768->mute_gpio);
-
return 0;
}