ASoC: Simplify pm860x_probe error handling
Simplify pm860x_probe error handling and return actual error code we got. Signed-off-by: Axel Lin <axel.lin@gmail.com> Acked-by: Liam Girdwood <lrg@slimlogic.co.uk> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
This commit is contained in:
parent
c8d6bf9a7b
commit
551102762e
|
@ -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)
|
||||||
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)
|
||||||
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)
|
||||||
|
|
Loading…
Reference in New Issue