Not all platforms use device tree. It is useful to be able to add
cells to a NVMEM device from code. Export nvmem_add_cells() so making
this possible.
This required changing the parameters a bit, so that just the cells
and the number of cells are passed, not the whole nvmem config
structure.
Signed-off-by: Andrew Lunn <andrew@xxxxxxx>
---
This is an RFC.
I have an intel platform with an AT24 EEPROM. I want to make use of
nvmem, but don't have device tree to be able to specify cells. I have
an x86 platform driver which does:
struct nvmem_cell_info nameplate_cells[] = {
{
.name = "checksum",
.offset = 2,
.bytes = 1,
},
{
.name = "part_number",
.offset = 11,
.bytes = 11,
},
};
err = nvmem_add_cells(nvmem, nameplate_cells,
ARRAY_SIZE(nameplate_cells));
if (err) {
dev_err(dev, "Error adding cells to nameplate nvmem device\n");
return;
}
cell = nvmem_cell_get(NULL, "checksum");
drivers/nvmem/core.c | 15 ++++++++-------
include/linux/nvmem-provider.h | 11 +++++++++++
2 files changed, 19 insertions(+), 7 deletions(-)