diff options
author | Axel Lin <axel.lin@gmail.com> | 2011-12-05 07:58:25 +0800 |
---|---|---|
committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2011-12-05 13:24:49 +0000 |
commit | 68020db8ac1046e50c758545b75850eb356a0651 (patch) | |
tree | 25c8180e9480052041b79bc5c8733dd2b1a649e4 /sound/soc/codecs/uda1380.c | |
parent | aec60f51e5127fb750b66eb7905047c67372177f (diff) | |
download | lwn-68020db8ac1046e50c758545b75850eb356a0651.tar.gz lwn-68020db8ac1046e50c758545b75850eb356a0651.zip |
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>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Diffstat (limited to 'sound/soc/codecs/uda1380.c')
-rw-r--r-- | 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 39c228c89e46..83e45d2b3e84 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: |