nvmem: core: move struct nvmem_cell_info to nvmem-provider.h

struct nvmem_cell_info is used to describe a cell. Thus this should
really be in the nvmem-provider's header. There are two (unused) nvmem
access methods which use the nvmem_cell_info to describe the cell to be
accesses. One can argue, that they will create a cell before accessing,
thus they are both a provider and a consumer.

struct nvmem_cell_info will get used more and more by nvmem-providers,
don't force them to also include the consumer header, although they are
not.

Signed-off-by: Michael Walle <michael@walle.cc>
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Link: https://lore.kernel.org/r/20230206134356.839737-14-srinivas.kandagatla@linaro.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Michael Walle
2023-02-06 13:43:47 +00:00
committed by Greg Kroah-Hartman
parent 5d8e6e6c10
commit fbd03d2777
2 changed files with 19 additions and 10 deletions

View File

@@ -18,15 +18,7 @@ struct device_node;
/* consumer cookie */ /* consumer cookie */
struct nvmem_cell; struct nvmem_cell;
struct nvmem_device; struct nvmem_device;
struct nvmem_cell_info;
struct nvmem_cell_info {
const char *name;
unsigned int offset;
unsigned int bytes;
unsigned int bit_offset;
unsigned int nbits;
struct device_node *np;
};
/** /**
* struct nvmem_cell_lookup - cell lookup entry * struct nvmem_cell_lookup - cell lookup entry

View File

@@ -14,7 +14,6 @@
#include <linux/gpio/consumer.h> #include <linux/gpio/consumer.h>
struct nvmem_device; struct nvmem_device;
struct nvmem_cell_info;
typedef int (*nvmem_reg_read_t)(void *priv, unsigned int offset, typedef int (*nvmem_reg_read_t)(void *priv, unsigned int offset,
void *val, size_t bytes); void *val, size_t bytes);
typedef int (*nvmem_reg_write_t)(void *priv, unsigned int offset, typedef int (*nvmem_reg_write_t)(void *priv, unsigned int offset,
@@ -47,6 +46,24 @@ struct nvmem_keepout {
unsigned char value; unsigned char value;
}; };
/**
* struct nvmem_cell_info - NVMEM cell description
* @name: Name.
* @offset: Offset within the NVMEM device.
* @bytes: Length of the cell.
* @bit_offset: Bit offset if cell is smaller than a byte.
* @nbits: Number of bits.
* @np: Optional device_node pointer.
*/
struct nvmem_cell_info {
const char *name;
unsigned int offset;
unsigned int bytes;
unsigned int bit_offset;
unsigned int nbits;
struct device_node *np;
};
/** /**
* struct nvmem_config - NVMEM device configuration * struct nvmem_config - NVMEM device configuration
* *