ASoC: rt5514-spi: Convert to use devm_* API
authorAxel Lin <axel.lin@ingics.com>
Thu, 14 Jul 2016 08:57:05 +0000 (16:57 +0800)
committerMark Brown <broonie@kernel.org>
Thu, 14 Jul 2016 09:56:54 +0000 (10:56 +0100)
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>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/codecs/rt5514-spi.c

index 743f509d48b7ff98ccacdbc515b66d7941b9de53..77ff8ebe6dfbed557c856cf18de6aeccf810654f 100644 (file)
@@ -410,32 +410,20 @@ 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;
 }
 
@@ -451,7 +439,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);