nvmem: Create a header for internal sharing
authorMiquel Raynal <miquel.raynal@bootlin.com>
Fri, 15 Dec 2023 11:15:29 +0000 (11:15 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 15 Dec 2023 12:30:07 +0000 (13:30 +0100)
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.raynal@bootlin.com>
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Link: https://lore.kernel.org/r/20231215111536.316972-4-srinivas.kandagatla@linaro.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/nvmem/core.c
drivers/nvmem/internals.h [new file with mode: 0644]

index b5b6ec8e04bb3c793f07bd098356c47c2106b523..b5e5ce67398ffa59863268922e9c5356a088ddb2 100644 (file)
 #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)
 
diff --git a/drivers/nvmem/internals.h b/drivers/nvmem/internals.h
new file mode 100644 (file)
index 0000000..ce35383
--- /dev/null
@@ -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 */