Re: [PATCH v6 02/17] nvmem: add DEFINE_FREE for nvmem_cell_put cleanup
From: Srinivas Kandagatla
Date: Fri Sep 18 2026 - 17:13:11 EST
On 8/6/26 8:40 AM, Varshini Rajendran wrote:
> Add cleanup.h helper for nvmem_cell_put() to enable automatic resource
> cleanup using __free(nvmem_cell_put) annotation.
>
> Use IS_ERR_OR_NULL() since nvmem_cell_get() can return error pointers,
> and passing an ERR_PTR to nvmem_cell_put() would cause issues.
>
> Signed-off-by: Varshini Rajendran <varshini.rajendran@xxxxxxxxxxxxx>
> ---
lgtm,
Acked-by: Srinivas Kandagatla <srini@xxxxxxxxxx>
This series has multiple sub-system patches, who do you want to proceed
with this?
--srini
> include/linux/nvmem-consumer.h | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/include/linux/nvmem-consumer.h b/include/linux/nvmem-consumer.h
> index 34c0e58dfa26..5315bd862f5f 100644
> --- a/include/linux/nvmem-consumer.h
> +++ b/include/linux/nvmem-consumer.h
> @@ -9,6 +9,7 @@
> #ifndef _LINUX_NVMEM_CONSUMER_H
> #define _LINUX_NVMEM_CONSUMER_H
>
> +#include <linux/cleanup.h>
> #include <linux/err.h>
> #include <linux/errno.h>
> #include <linux/notifier.h>
> @@ -243,6 +244,8 @@ static inline struct nvmem_device *nvmem_device_find(void *data,
>
> #endif /* CONFIG_NVMEM */
>
> +DEFINE_FREE(nvmem_cell_put, struct nvmem_cell *, if (!IS_ERR_OR_NULL(_T)) nvmem_cell_put(_T))
> +
> #if IS_ENABLED(CONFIG_NVMEM) && IS_ENABLED(CONFIG_OF)
> struct nvmem_cell *of_nvmem_cell_get(struct device_node *np,
> const char *id);