Hello, The FRU handling was added as a Xilinx board dependent support but it is also useful for other boards, so this commit moves the FRU handling support to the common region so that it can be enabled by CONFIG_CMD_FRU.
To provide manufacturer specific custom info fields and multi-records parsing, it refactors the FRU handling logic using linked list so that each board support can utilize them in their own custom way. This series adds 'Product Info' parsing support, usage document and unit test script too. Please review! Thanks, Jae Graeme Gregory (1): cmd: fru: move FRU handling support to common region Jae Hyun Yoo (6): xilinx: common: refactor FRU handling support cmd: fru: fix a sandbox segfault issue cmd: fru: add product info area parsing support doc: fru: add documentation for the fru command and APIs test: py: fru: add a test for the fru command test: cmd: fru: add unit test for the fru command board/xilinx/Kconfig | 8 - board/xilinx/common/Makefile | 3 - board/xilinx/common/board.c | 68 ++- board/xilinx/common/fru.h | 108 ----- board/xilinx/common/fru_ops.c | 415 ----------------- cmd/Kconfig | 8 + cmd/Makefile | 1 + {board/xilinx/common => cmd}/fru.c | 54 ++- configs/sandbox_defconfig | 1 + doc/usage/cmd/fru.rst | 144 ++++++ doc/usage/index.rst | 1 + include/fru.h | 328 +++++++++++++ include/test/suites.h | 1 + lib/Makefile | 1 + lib/fru_ops.c | 725 +++++++++++++++++++++++++++++ test/cmd/Makefile | 1 + test/cmd/fru.c | 84 ++++ test/cmd_ut.c | 6 + test/py/tests/test_fru.py | 47 ++ 19 files changed, 1447 insertions(+), 557 deletions(-) delete mode 100644 board/xilinx/common/fru.h delete mode 100644 board/xilinx/common/fru_ops.c rename {board/xilinx/common => cmd}/fru.c (50%) create mode 100644 doc/usage/cmd/fru.rst create mode 100644 include/fru.h create mode 100644 lib/fru_ops.c create mode 100644 test/cmd/fru.c create mode 100644 test/py/tests/test_fru.py -- 2.25.1