diff options
Diffstat (limited to 'roms/u-boot/board/ge/common/vpd_reader.h')
-rw-r--r-- | roms/u-boot/board/ge/common/vpd_reader.h | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/roms/u-boot/board/ge/common/vpd_reader.h b/roms/u-boot/board/ge/common/vpd_reader.h new file mode 100644 index 000000000..0c51dc57e --- /dev/null +++ b/roms/u-boot/board/ge/common/vpd_reader.h @@ -0,0 +1,37 @@ +/* SPDX-License-Identifier: GPL-2.0+ */ +/* + * Copyright 2016 General Electric Company + */ + +#include "common.h" + +struct vpd_cache; + +/* + * Read VPD from given data, verify content, call callback for each vital + * product data block. + * + * cache: structure used by process block to store VPD information + * process_block: callback called for each VPD data block + * + * Returns Non-zero on error. Negative numbers encode errno. + */ +int read_i2c_vpd(struct vpd_cache *cache, + int (*process_block)(struct vpd_cache *, u8 id, u8 version, + u8 type, size_t size, u8 const *data)); + +/* + * Read VPD from given data, verify content, call callback for each vital + * product data block. + * + * size: size of the raw VPD data in bytes + * data: raw VPD data read from device + * cache: structure used by process block to store VPD information + * process_block: callback called for each VPD data block + * + * Returns Non-zero on error. Negative numbers encode errno. + */ + +int vpd_reader(size_t size, u8 *data, struct vpd_cache *cache, + int (*process_block)(struct vpd_cache *, u8 id, u8 version, u8 type, + size_t size, u8 const *data)); |