[alsa-devel] [PATCH v2] ASoC: uda1380: Convert to gpio_request_one()
Using gpio_request_one can make the error handling simpler.
Also remove a redundant "Failed to issue reset" error message. We already show the error message in uda1380_reset() error path.
Signed-off-by: Axel Lin axel.lin@gmail.com --- sound/soc/codecs/uda1380.c | 28 ++++++++-------------------- 1 files changed, 8 insertions(+), 20 deletions(-)
diff --git a/sound/soc/codecs/uda1380.c b/sound/soc/codecs/uda1380.c index 3a238cb..c1b05b7 100644 --- a/sound/soc/codecs/uda1380.c +++ b/sound/soc/codecs/uda1380.c @@ -732,27 +732,21 @@ static int uda1380_probe(struct snd_soc_codec *codec) return -EINVAL;
if (gpio_is_valid(pdata->gpio_reset)) { - ret = gpio_request(pdata->gpio_reset, "uda1380 reset"); + ret = gpio_request_one(pdata->gpio_reset, GPIOF_OUT_INIT_LOW, + "uda1380 reset"); if (ret) goto err_out; - ret = gpio_direction_output(pdata->gpio_reset, 0); - if (ret) - goto err_gpio_reset_conf; }
if (gpio_is_valid(pdata->gpio_power)) { - ret = gpio_request(pdata->gpio_power, "uda1380 power"); - if (ret) - goto err_gpio; - ret = gpio_direction_output(pdata->gpio_power, 0); + ret = gpio_request_one(pdata->gpio_power, GPIOF_OUT_INIT_LOW, + "uda1380 power"); if (ret) - goto err_gpio_power_conf; + goto err_free_gpio; } else { ret = uda1380_reset(codec); - if (ret) { - dev_err(codec->dev, "Failed to issue reset\n"); - goto err_reset; - } + if (ret) + goto err_free_gpio; }
INIT_WORK(&uda1380->work, uda1380_flush_work); @@ -776,13 +770,7 @@ static int uda1380_probe(struct snd_soc_codec *codec)
return 0;
-err_reset: -err_gpio_power_conf: - if (gpio_is_valid(pdata->gpio_power)) - gpio_free(pdata->gpio_power); - -err_gpio_reset_conf: -err_gpio: +err_free_gpio: if (gpio_is_valid(pdata->gpio_reset)) gpio_free(pdata->gpio_reset); err_out:
On Mon, Dec 05, 2011 at 07:58:25AM +0800, Axel Lin wrote:
Using gpio_request_one can make the error handling simpler.
Also remove a redundant "Failed to issue reset" error message. We already show the error message in uda1380_reset() error path.
Applied, thanks.
participants (2)
-
Axel Lin
-
Mark Brown