Port Linux commit: | commit ec9c08a1cb8dc5e8e003f95f5f62de41dde235bb | Author: Miquel Raynal <miquel.ray...@bootlin.com> | Date: Fri Dec 15 11:15:29 2023 +0000 | | nvmem: Create a header for internal sharing | | Before adding all the NVMEM layout bus infrastructure to the core, let's | move the main nvmem_device structure in an internal header, only | available to the core. This way all the additional code can be added in | a dedicated file in order to keep the current core file tidy. | | Signed-off-by: Miquel Raynal <miquel.ray...@bootlin.com> | Signed-off-by: Srinivas Kandagatla <srinivas.kandaga...@linaro.org> | Link: https://lore.kernel.org/r/20231215111536.316972-4-srinivas.kandaga...@linaro.org | Signed-off-by: Greg Kroah-Hartman <gre...@linuxfoundation.org>
which is required for the upcoming nvmem-layout support. Signed-off-by: Marco Felsch <m.fel...@pengutronix.de> --- drivers/nvmem/core.c | 20 +------------------- drivers/nvmem/internals.h | 30 ++++++++++++++++++++++++++++++ 2 files changed, 31 insertions(+), 19 deletions(-) diff --git a/drivers/nvmem/core.c b/drivers/nvmem/core.c index 29a18cbeb517bdf23a8620f19a0ec21a1ac1b4e2..86f4f43a3084bf0c0e71b9af002334975c5e5e0e 100644 --- a/drivers/nvmem/core.c +++ b/drivers/nvmem/core.c @@ -13,25 +13,7 @@ #include <linux/nvmem-consumer.h> #include <linux/nvmem-provider.h> -struct nvmem_device { - const char *name; - struct device dev; - struct list_head node; - int stride; - int word_size; - int ncells; - int users; - size_t size; - bool read_only; - struct cdev cdev; - void *priv; - struct list_head cells; - nvmem_cell_post_process_t cell_post_process; - int (*reg_write)(void *ctx, unsigned int reg, - const void *val, size_t val_size); - int (*reg_read)(void *ctx, unsigned int reg, - void *val, size_t val_size); -}; +#include "internals.h" struct nvmem_cell_entry { const char *name; diff --git a/drivers/nvmem/internals.h b/drivers/nvmem/internals.h new file mode 100644 index 0000000000000000000000000000000000000000..4faa9a7f9e76e93cb67192ab11475f466df31473 --- /dev/null +++ b/drivers/nvmem/internals.h @@ -0,0 +1,30 @@ +/* SPDX-License-Identifier: GPL-2.0 */ + +#ifndef _LINUX_NVMEM_INTERNALS_H +#define _LINUX_NVMEM_INTERNALS_H + +#include <device.h> +#include <linux/nvmem-consumer.h> +#include <linux/nvmem-provider.h> + +struct nvmem_device { + const char *name; + struct device dev; + struct list_head node; + int stride; + int word_size; + int ncells; + int users; + size_t size; + bool read_only; + struct cdev cdev; + void *priv; + struct list_head cells; + nvmem_cell_post_process_t cell_post_process; + int (*reg_write)(void *ctx, unsigned int reg, + const void *val, size_t val_size); + int (*reg_read)(void *ctx, unsigned int reg, + void *val, size_t val_size); +}; + +#endif /* ifndef _LINUX_NVMEM_INTERNALS_H */ -- 2.39.5