Drop all of the code related to .remove hook and make use of devm_nvmem_register() instead. Cc: Srinivas Kandagatla <srinivas.kandagatla at linaro.org> Cc: Heiko Stuebner <heiko at sntech.de> Cc: Masahiro Yamada <yamada.masahiro at socionext.com> Cc: Carlo Caione <carlo at caione.org> Cc: Kevin Hilman <khilman at baylibre.com> Cc: Matthias Brugger <matthias.bgg at gmail.com> Cc: cphealy at gmail.com Cc: linux-kernel at vger.kernel.org Cc: linux-mediatek at lists.infradead.org Cc: linux-rockchip at lists.infradead.org Cc: linux-amlogic at lists.infradead.org Cc: linux-arm-kernel at lists.infradead.org Signed-off-by: Andrey Smirnov <andrew.smirnov at gmail.com> --- drivers/nvmem/meson-efuse.c | 16 ++-------------- 1 file changed, 2 insertions(+), 14 deletions(-) diff --git a/drivers/nvmem/meson-efuse.c b/drivers/nvmem/meson-efuse.c index a43c68f90937..71823d1403c5 100644 --- a/drivers/nvmem/meson-efuse.c +++ b/drivers/nvmem/meson-efuse.c @@ -60,25 +60,13 @@ static int meson_efuse_probe(struct platform_device *pdev) econfig.reg_read = meson_efuse_read; econfig.size = size; - nvmem = nvmem_register(&econfig); - if (IS_ERR(nvmem)) - return PTR_ERR(nvmem); + nvmem = devm_nvmem_register(&pdev->dev, &econfig); - platform_set_drvdata(pdev, nvmem); - - return 0; -} - -static int meson_efuse_remove(struct platform_device *pdev) -{ - struct nvmem_device *nvmem = platform_get_drvdata(pdev); - - return nvmem_unregister(nvmem); + return PTR_ERR_OR_ZERO(nvmem); } static struct platform_driver meson_efuse_driver = { .probe = meson_efuse_probe, - .remove = meson_efuse_remove, .driver = { .name = "meson-efuse", .of_match_table = meson_efuse_match, -- 2.14.3