From: Andrey Smirnov <andrew.smir...@gmail.com>

Drop all of the code related to .remove hook and make use of
devm_nvmem_register() instead.

Cc: Srinivas Kandagatla <srinivas.kandaga...@linaro.org>
Cc: Heiko Stuebner <he...@sntech.de>
Cc: Masahiro Yamada <yamada.masah...@socionext.com>
Cc: Carlo Caione <ca...@caione.org>
Cc: Kevin Hilman <khil...@baylibre.com>
Cc: Matthias Brugger <matthias....@gmail.com>
Cc: cphe...@gmail.com
Cc: linux-kernel@vger.kernel.org
Cc: linux-media...@lists.infradead.org
Cc: linux-rockc...@lists.infradead.org
Cc: linux-amlo...@lists.infradead.org
Cc: linux-arm-ker...@lists.infradead.org
Signed-off-by: Andrey Smirnov <andrew.smir...@gmail.com>
Signed-off-by: Srinivas Kandagatla <srinivas.kandaga...@linaro.org>
---
 drivers/nvmem/vf610-ocotp.c | 21 ++++-----------------
 1 file changed, 4 insertions(+), 17 deletions(-)

diff --git a/drivers/nvmem/vf610-ocotp.c b/drivers/nvmem/vf610-ocotp.c
index 5ae9e002f195..5a395ffb2ca8 100644
--- a/drivers/nvmem/vf610-ocotp.c
+++ b/drivers/nvmem/vf610-ocotp.c
@@ -217,13 +217,6 @@ static const struct of_device_id ocotp_of_match[] = {
 };
 MODULE_DEVICE_TABLE(of, ocotp_of_match);
 
-static int vf610_ocotp_remove(struct platform_device *pdev)
-{
-       struct vf610_ocotp *ocotp_dev = platform_get_drvdata(pdev);
-
-       return nvmem_unregister(ocotp_dev->nvmem);
-}
-
 static int vf610_ocotp_probe(struct platform_device *pdev)
 {
        struct device *dev = &pdev->dev;
@@ -246,26 +239,20 @@ static int vf610_ocotp_probe(struct platform_device *pdev)
                        PTR_ERR(ocotp_dev->clk));
                return PTR_ERR(ocotp_dev->clk);
        }
+       ocotp_dev->dev = dev;
+       ocotp_dev->timing = vf610_ocotp_calculate_timing(ocotp_dev);
 
        ocotp_config.size = resource_size(res);
        ocotp_config.priv = ocotp_dev;
        ocotp_config.dev = dev;
 
-       ocotp_dev->nvmem = nvmem_register(&ocotp_config);
-       if (IS_ERR(ocotp_dev->nvmem))
-               return PTR_ERR(ocotp_dev->nvmem);
+       ocotp_dev->nvmem = devm_nvmem_register(dev, &ocotp_config);
 
-       ocotp_dev->dev = dev;
-       platform_set_drvdata(pdev, ocotp_dev);
-
-       ocotp_dev->timing = vf610_ocotp_calculate_timing(ocotp_dev);
-
-       return 0;
+       return PTR_ERR_OR_ZERO(ocotp_dev->nvmem);
 }
 
 static struct platform_driver vf610_ocotp_driver = {
        .probe = vf610_ocotp_probe,
-       .remove = vf610_ocotp_remove,
        .driver = {
                .name = "vf610-ocotp",
                .of_match_table = ocotp_of_match,
-- 
2.15.1

Reply via email to