ASoC: max9768: Use managed gpio request
authorLars-Peter Clausen <lars@metafoo.de>
Thu, 16 Jul 2015 19:22:51 +0000 (21:22 +0200)
committerMark Brown <broonie@kernel.org>
Thu, 16 Jul 2015 20:36:23 +0000 (21:36 +0100)
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>
sound/soc/codecs/max9768.c

index 1526aef2f2a9c6df11cbb12b04dd12ab01b76892..d70a8205c6adb608d6f7f5f10e00dc765a74fdd2 100644 (file)
@@ -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;
 }
 
This page took 0.025349 seconds and 5 git commands to generate.