1 From 5825b2c6762611e67ccaf3ccf64485365a120f0b Mon Sep 17 00:00:00 2001
2 From: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
3 Date: Sun, 20 Feb 2022 15:15:16 +0000
4 Subject: [PATCH] nvmem: core: Use devm_add_action_or_reset()
6 Slightly simplify the devm_nvmem_register() by using the
7 devm_add_action_or_reset().
9 Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
10 Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
11 Link: https://lore.kernel.org/r/20220220151527.17216-3-srinivas.kandagatla@linaro.org
12 Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
14 drivers/nvmem/core.c | 22 +++++++++-------------
15 1 file changed, 9 insertions(+), 13 deletions(-)
17 --- a/drivers/nvmem/core.c
18 +++ b/drivers/nvmem/core.c
19 @@ -902,9 +902,9 @@ void nvmem_unregister(struct nvmem_devic
21 EXPORT_SYMBOL_GPL(nvmem_unregister);
23 -static void devm_nvmem_release(struct device *dev, void *res)
24 +static void devm_nvmem_unregister(void *nvmem)
26 - nvmem_unregister(*(struct nvmem_device **)res);
27 + nvmem_unregister(nvmem);
31 @@ -921,20 +921,16 @@ static void devm_nvmem_release(struct de
32 struct nvmem_device *devm_nvmem_register(struct device *dev,
33 const struct nvmem_config *config)
35 - struct nvmem_device **ptr, *nvmem;
37 - ptr = devres_alloc(devm_nvmem_release, sizeof(*ptr), GFP_KERNEL);
39 - return ERR_PTR(-ENOMEM);
40 + struct nvmem_device *nvmem;
43 nvmem = nvmem_register(config);
47 - if (!IS_ERR(nvmem)) {
49 - devres_add(dev, ptr);
53 + ret = devm_add_action_or_reset(dev, devm_nvmem_unregister, nvmem);
55 + return ERR_PTR(ret);