12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091 |
- From ec9c08a1cb8dc5e8e003f95f5f62de41dde235bb Mon Sep 17 00:00:00 2001
- From: Miquel Raynal <[email protected]>
- Date: Fri, 15 Dec 2023 11:15:29 +0000
- Subject: [PATCH] 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 <[email protected]>
- Signed-off-by: Srinivas Kandagatla <[email protected]>
- Link: https://lore.kernel.org/r/[email protected]
- Signed-off-by: Greg Kroah-Hartman <[email protected]>
- ---
- drivers/nvmem/core.c | 24 +-----------------------
- drivers/nvmem/internals.h | 35 +++++++++++++++++++++++++++++++++++
- 2 files changed, 36 insertions(+), 23 deletions(-)
- create mode 100644 drivers/nvmem/internals.h
- --- a/drivers/nvmem/core.c
- +++ b/drivers/nvmem/core.c
- @@ -19,29 +19,7 @@
- #include <linux/of.h>
- #include <linux/slab.h>
-
- -struct nvmem_device {
- - struct module *owner;
- - struct device dev;
- - int stride;
- - int word_size;
- - int id;
- - struct kref refcnt;
- - size_t size;
- - bool read_only;
- - bool root_only;
- - int flags;
- - enum nvmem_type type;
- - struct bin_attribute eeprom;
- - struct device *base_dev;
- - struct list_head cells;
- - const struct nvmem_keepout *keepout;
- - unsigned int nkeepout;
- - nvmem_reg_read_t reg_read;
- - nvmem_reg_write_t reg_write;
- - struct gpio_desc *wp_gpio;
- - struct nvmem_layout *layout;
- - void *priv;
- -};
- +#include "internals.h"
-
- #define to_nvmem_device(d) container_of(d, struct nvmem_device, dev)
-
- --- /dev/null
- +++ b/drivers/nvmem/internals.h
- @@ -0,0 +1,35 @@
- +/* SPDX-License-Identifier: GPL-2.0 */
- +
- +#ifndef _LINUX_NVMEM_INTERNALS_H
- +#define _LINUX_NVMEM_INTERNALS_H
- +
- +#include <linux/device.h>
- +#include <linux/nvmem-consumer.h>
- +#include <linux/nvmem-provider.h>
- +
- +struct nvmem_device {
- + struct module *owner;
- + struct device dev;
- + struct list_head node;
- + int stride;
- + int word_size;
- + int id;
- + struct kref refcnt;
- + size_t size;
- + bool read_only;
- + bool root_only;
- + int flags;
- + enum nvmem_type type;
- + struct bin_attribute eeprom;
- + struct device *base_dev;
- + struct list_head cells;
- + const struct nvmem_keepout *keepout;
- + unsigned int nkeepout;
- + nvmem_reg_read_t reg_read;
- + nvmem_reg_write_t reg_write;
- + struct gpio_desc *wp_gpio;
- + struct nvmem_layout *layout;
- + void *priv;
- +};
- +
- +#endif /* ifndef _LINUX_NVMEM_INTERNALS_H */
|