@@ -409,33 +409,21 @@ static int rt5514_spi_probe(struct spi_device *spi)
rt5514_spi = spi;
- ret = snd_soc_register_platform(&spi->dev, &rt5514_spi_platform);
+ ret = devm_snd_soc_register_platform(&spi->dev, &rt5514_spi_platform);
if (ret < 0) {
dev_err(&spi->dev, "Failed to register platform.\n");
- goto err_plat;
+ return ret;
}
- ret = snd_soc_register_component(&spi->dev, &rt5514_spi_dai_component,
- &rt5514_spi_dai, 1);
+ ret = devm_snd_soc_register_component(&spi->dev,
+ &rt5514_spi_dai_component,
+ &rt5514_spi_dai, 1);
if (ret < 0) {
dev_err(&spi->dev, "Failed to register component.\n");
- goto err_comp;
+ return ret;
}
return 0;
-err_comp:
- snd_soc_unregister_platform(&spi->dev);
-err_plat:
-
- return 0;
-}
-
-static int rt5514_spi_remove(struct spi_device *spi)
-{
- snd_soc_unregister_component(&spi->dev);
- snd_soc_unregister_platform(&spi->dev);
-
- return 0;
}
static const struct of_device_id rt5514_of_match[] = {
@@ -450,7 +438,6 @@ static struct spi_driver rt5514_spi_driver = {
.of_match_table = of_match_ptr(rt5514_of_match),
},
.probe = rt5514_spi_probe,
- .remove = rt5514_spi_remove,
};
module_spi_driver(rt5514_spi_driver);
Use devm_* API to simplify the code. This patch also fixes the return value in probe error paths. Signed-off-by: Axel Lin <axel.lin@ingics.com> --- sound/soc/codecs/rt5514-spi.c | 25 ++++++------------------- 1 file changed, 6 insertions(+), 19 deletions(-)