What about at least to have just one call in core.c to make it a bitHi Srinivas,Currently I can test only on at24 devices. From the:
https://opencomputeproject.github.io/onie/design-spec/hw_requirements.html
"
Each ONIE system must include non-volatile storage which contains vital
product data assigned by the manufacturer. The non-volatile storage
could take the form of an EEPROM, a NOR-flash sector, a NAND-flash
sector or any other non-volatile storage medium.
"
I am not aware about other nvmem devices which are used for existing
ONIE supported boards.
As long as you represent this parsing function as some library function,
I do not see any issue.
If any exported symbol is available for this then any nvmem provider
could use it.
--srini
Can I note here that I would like to parse
TLV data from an SPI-NOR device to NVMEM cells.
The same general use case (getting mac-address from OEM data).
Was planning to base my work on this series, as well as
https://lore.kernel.org/all/20210908100257.17833-1-qiangqing.zhang@xxxxxxx/
(thanks for pointing that out Srinivas)
Cheers,
de-coupled, like:
core.c
struct nvmem_device *nvmem_register(const struct nvmem_config *config)
{
...
rval = nvmem_add_cells_from_table(nvmem);
if (rval)
goto err_remove_cells;
+ rval = nvmem_parse_cells(nvmem, of);
+ if (rval) {
+ /* err handling */
+ }
+
rval = nvmem_add_cells_from_of(nvmem);
if (rval)
goto err_remove_cells;
blocking_notifier_call_chain(&nvmem_notifier, NVMEM_ADD, nvmem);
return nvmem;
...
}
somewhere in nvmem-parser.c:
/* retreive parser name from of_node and call appropriate function to parse
non-fixed cells and update via of_update */
int nvmem_parse_cells(struct nvmem_device *nvmem, struct device_node *of_node)
{
...
}
?
Regards,