From: Bartosz Golaszewski <bgolaszewski@xxxxxxxxxxxx>
The fact that part of the resources associated with the nvmem resources
is freed by the release() callback in device_type caused me some
confusion. Add a comment explaining that to nvmem_register().
Signed-off-by: Bartosz Golaszewski <bgolaszewski@xxxxxxxxxxxx>
---
drivers/nvmem/core.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/drivers/nvmem/core.c b/drivers/nvmem/core.c
index 40fe5913c264..6e28f3fddf53 100644
--- a/drivers/nvmem/core.c
+++ b/drivers/nvmem/core.c
@@ -397,6 +397,11 @@ struct nvmem_device *nvmem_register(const struct nvmem_config *config)
dev_dbg(&nvmem->dev, "Registering nvmem device %s\n", config->name);
+ /*
+ * After calling device_add() we can stop freeing previously
+ * allocated resources - they'll be freed from nvmem_release()
+ * when the device's reference count drops to 0.
+ */
rval = device_add(&nvmem->dev);
if (rval)
goto err_put_device;