nvmem: remove unneeded __nvmem_device_put()

__nvmem_device_put() is wrapped by nvmem_device_put() but there's no
extra functionality offered by the latter so just fold one into the
other. There's still the corresponding __nvmem_device_get() so in order
to keep things symmetrical: rename it to nvmem_device_match() to better
reflect its functionality and not confuse users by its presence in the
absence of the similarly prefixed put() counterpart.

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
Tested-by: Loic Poulain <loic.poulain@oss.qualcomm.com>
Signed-off-by: Srinivas Kandagatla <srini@kernel.org>
Link: https://patch.msgid.link/20260729094647.111468-6-srini@kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Bartosz Golaszewski 2026-07-29 10:46:38 +01:00 committed by Greg Kroah-Hartman
parent 2aa495438c
commit 1f4b416574

View File

@ -1110,7 +1110,7 @@ struct nvmem_device *devm_nvmem_register(struct device *dev,
}
EXPORT_SYMBOL_GPL(devm_nvmem_register);
static struct nvmem_device *__nvmem_device_get(void *data,
static struct nvmem_device *nvmem_device_match(void *data,
int (*match)(struct device *dev, const void *data))
{
struct nvmem_device *nvmem = NULL;
@ -1138,13 +1138,6 @@ static struct nvmem_device *__nvmem_device_get(void *data,
return nvmem;
}
static void __nvmem_device_put(struct nvmem_device *nvmem)
{
put_device(&nvmem->dev);
module_put(nvmem->owner);
kref_put(&nvmem->refcnt, nvmem_device_release);
}
#if IS_ENABLED(CONFIG_OF)
/**
* of_nvmem_device_get() - Get nvmem device from a given id
@ -1169,7 +1162,7 @@ struct nvmem_device *of_nvmem_device_get(struct device_node *np, const char *id)
if (!nvmem_np)
return ERR_PTR(-ENOENT);
nvmem = __nvmem_device_get(nvmem_np, device_match_of_node);
nvmem = nvmem_device_match(nvmem_np, device_match_of_node);
of_node_put(nvmem_np);
return nvmem;
}
@ -1197,7 +1190,7 @@ struct nvmem_device *nvmem_device_get(struct device *dev, const char *dev_name)
}
return __nvmem_device_get((void *)dev_name, device_match_name);
return nvmem_device_match((void *)dev_name, device_match_name);
}
EXPORT_SYMBOL_GPL(nvmem_device_get);
@ -1213,7 +1206,7 @@ EXPORT_SYMBOL_GPL(nvmem_device_get);
struct nvmem_device *nvmem_device_find(void *data,
int (*match)(struct device *dev, const void *data))
{
return __nvmem_device_get(data, match);
return nvmem_device_match(data, match);
}
EXPORT_SYMBOL_GPL(nvmem_device_find);
@ -1257,7 +1250,9 @@ EXPORT_SYMBOL_GPL(devm_nvmem_device_put);
*/
void nvmem_device_put(struct nvmem_device *nvmem)
{
__nvmem_device_put(nvmem);
put_device(&nvmem->dev);
module_put(nvmem->owner);
kref_put(&nvmem->refcnt, nvmem_device_release);
}
EXPORT_SYMBOL_GPL(nvmem_device_put);
@ -1336,7 +1331,7 @@ nvmem_cell_get_from_lookup(struct device *dev, const char *con_id)
if ((strcmp(lookup->dev_id, dev_id) == 0) &&
(strcmp(lookup->con_id, con_id) == 0)) {
/* This is the right entry. */
nvmem = __nvmem_device_get((void *)lookup->nvmem_name,
nvmem = nvmem_device_match((void *)lookup->nvmem_name,
device_match_name);
if (IS_ERR(nvmem))
/* Provider may not be registered yet. */
@ -1345,12 +1340,12 @@ nvmem_cell_get_from_lookup(struct device *dev, const char *con_id)
cell_entry = nvmem_find_cell_entry_by_name(nvmem,
lookup->cell_name);
if (!cell_entry) {
__nvmem_device_put(nvmem);
nvmem_device_put(nvmem);
cell = ERR_PTR(-ENOENT);
} else {
cell = nvmem_create_cell(cell_entry, con_id, 0);
if (IS_ERR(cell))
__nvmem_device_put(nvmem);
nvmem_device_put(nvmem);
}
break;
}
@ -1448,7 +1443,7 @@ struct nvmem_cell *of_nvmem_cell_get(struct device_node *np, const char *id)
}
}
nvmem = __nvmem_device_get(nvmem_np, device_match_of_node);
nvmem = nvmem_device_match(nvmem_np, device_match_of_node);
of_node_put(nvmem_np);
if (IS_ERR(nvmem)) {
of_node_put(cell_np);
@ -1458,7 +1453,7 @@ struct nvmem_cell *of_nvmem_cell_get(struct device_node *np, const char *id)
ret = nvmem_layout_module_get_optional(nvmem);
if (ret) {
of_node_put(cell_np);
__nvmem_device_put(nvmem);
nvmem_device_put(nvmem);
return ERR_PTR(ret);
}
@ -1467,14 +1462,14 @@ struct nvmem_cell *of_nvmem_cell_get(struct device_node *np, const char *id)
if (!cell_entry) {
nvmem_layout_module_put(nvmem);
ret = nvmem->layout ? -EPROBE_DEFER : -ENOENT;
__nvmem_device_put(nvmem);
nvmem_device_put(nvmem);
return ERR_PTR(ret);
}
cell = nvmem_create_cell(cell_entry, id, cell_index);
if (IS_ERR(cell)) {
nvmem_layout_module_put(nvmem);
__nvmem_device_put(nvmem);
nvmem_device_put(nvmem);
}
return cell;
@ -1589,7 +1584,7 @@ void nvmem_cell_put(struct nvmem_cell *cell)
kfree(cell);
nvmem_layout_module_put(nvmem);
__nvmem_device_put(nvmem);
nvmem_device_put(nvmem);
}
EXPORT_SYMBOL_GPL(nvmem_cell_put);