Commit 55110276 authored by Axel Lin's avatar Axel Lin Committed by Mark Brown

ASoC: Simplify pm860x_probe error handling

Simplify pm860x_probe error handling and return actual error code we got.
Signed-off-by: default avatarAxel Lin <axel.lin@gmail.com>
Acked-by: default avatarLiam Girdwood <lrg@slimlogic.co.uk>
Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
parent c8d6bf9a
...@@ -1358,7 +1358,7 @@ static int pm860x_probe(struct snd_soc_codec *codec) ...@@ -1358,7 +1358,7 @@ static int pm860x_probe(struct snd_soc_codec *codec)
pm860x->name[i], pm860x); pm860x->name[i], pm860x);
if (ret < 0) { if (ret < 0) {
dev_err(codec->dev, "Failed to request IRQ!\n"); dev_err(codec->dev, "Failed to request IRQ!\n");
goto out_irq; goto out;
} }
} }
...@@ -1369,7 +1369,7 @@ static int pm860x_probe(struct snd_soc_codec *codec) ...@@ -1369,7 +1369,7 @@ static int pm860x_probe(struct snd_soc_codec *codec)
if (ret < 0) { if (ret < 0) {
dev_err(codec->dev, "Failed to fill register cache: %d\n", dev_err(codec->dev, "Failed to fill register cache: %d\n",
ret); ret);
goto out_codec; goto out;
} }
snd_soc_add_controls(codec, pm860x_snd_controls, snd_soc_add_controls(codec, pm860x_snd_controls,
...@@ -1379,12 +1379,10 @@ static int pm860x_probe(struct snd_soc_codec *codec) ...@@ -1379,12 +1379,10 @@ static int pm860x_probe(struct snd_soc_codec *codec)
snd_soc_dapm_add_routes(dapm, audio_map, ARRAY_SIZE(audio_map)); snd_soc_dapm_add_routes(dapm, audio_map, ARRAY_SIZE(audio_map));
return 0; return 0;
out_codec: out:
i = 3; while (--i >= 0)
out_irq:
for (; i >= 0; i--)
free_irq(pm860x->irq[i], pm860x); free_irq(pm860x->irq[i], pm860x);
return -EINVAL; return ret;
} }
static int pm860x_remove(struct snd_soc_codec *codec) static int pm860x_remove(struct snd_soc_codec *codec)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment