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/mtk-efuse.c | 16 ++-------------- 1 file changed, 2 insertions(+), 14 deletions(-) diff --git a/drivers/nvmem/mtk-efuse.c b/drivers/nvmem/mtk-efuse.c index 9ee3479cfc7b..e66adf17a747 100644 --- a/drivers/nvmem/mtk-efuse.c +++ b/drivers/nvmem/mtk-efuse.c @@ -72,20 +72,9 @@ static int mtk_efuse_probe(struct platform_device *pdev) econfig.size = resource_size(res); econfig.priv = priv; econfig.dev = dev; - nvmem = nvmem_register(&econfig); - if (IS_ERR(nvmem)) - return PTR_ERR(nvmem); + nvmem = devm_nvmem_register(dev, &econfig); - platform_set_drvdata(pdev, nvmem); - - return 0; -} - -static int mtk_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 const struct of_device_id mtk_efuse_of_match[] = { @@ -97,7 +86,6 @@ MODULE_DEVICE_TABLE(of, mtk_efuse_of_match); static struct platform_driver mtk_efuse_driver = { .probe = mtk_efuse_probe, - .remove = mtk_efuse_remove, .driver = { .name = "mediatek,efuse", .of_match_table = mtk_efuse_of_match, -- 2.14.3