[PATCH 00/12] split tlv_eeprom command into a separate library
Josua Mayer
josua at solid-run.com
Mon May 2 16:18:26 CEST 2022
The tlv_eeprom command provides much more than just a cli command:
- de- and encoding tlv format
- for reading and writing eeprom
- setting the eth?addr environment variable
- setting the serial# environment variable
One device (Clearfog) is already using the decoding functionality to
choose the correct memory size based on eeprom data.
This patchset massages the implementation in many places removing
stateful behaviour and global variables as much as possible and changing
some functions to be usable as a library.
Then finally everything but the handling of the cli command is split off
into a separate tlv library that can be used independently from the command.
SolidRun is starting to flash more devices with tlv data at the factory,
and we plan to use this information for device identification purposes
in future board files. This refactoring will make those implementations
easier and reduce the amount of duplicate code to carry around.
Josua Mayer (12):
cmd: tlv_eeprom: remove use of global variable current_dev
cmd: tlv_eeprom: remove use of global variable has_been_read
cmd: tlv_eeprom: do_tlv_eeprom: stop using non-api read_eeprom
function
cmd: tlv_eeprom: convert functions used by command to api functions
cmd: tlv_eeprom: remove empty function implementations from header
cmd: tlv_eeprom: move missing declarations and defines to header
cmd: tlv_eeprom: hide access to static tlv_devices array behind
accessor
cmd: tlv_eeprom: clean up two defines for one thing
cmd: tlv_eeprom: add my copyright
cmd: tlv_eeprom: split off tlv library from command
arm: mvebu: clearfog: enable tlv library for spl in favour of eeprom
cmd
lib: tlv_eeprom: add function for reading one entry into a C string
cmd/Kconfig | 2 +
cmd/tlv_eeprom.c | 817 ++-----------------------------------
configs/clearfog_defconfig | 3 +-
include/tlv_eeprom.h | 122 +++++-
lib/Kconfig | 2 +
lib/Makefile | 2 +
lib/tlv/Kconfig | 15 +
lib/tlv/Makefile | 5 +
lib/tlv/tlv_eeprom.c | 775 +++++++++++++++++++++++++++++++++++
9 files changed, 944 insertions(+), 799 deletions(-)
create mode 100644 lib/tlv/Kconfig
create mode 100644 lib/tlv/Makefile
create mode 100644 lib/tlv/tlv_eeprom.c
Cc: Jon Nettleton <jon at solid-run.com>
--
2.34.1
More information about the U-Boot
mailing list