xref: /openbmc/u-boot/board/ge/common/vpd_reader.h (revision 522e035441ca04d99de2fc13b614ad896691e9c9)
183d290c5STom Rini /* SPDX-License-Identifier: GPL-2.0+ */
2b418dfe1SMartyn Welch /*
3b418dfe1SMartyn Welch  * Copyright 2016 General Electric Company
4b418dfe1SMartyn Welch  */
5b418dfe1SMartyn Welch 
6b418dfe1SMartyn Welch #include "common.h"
7b418dfe1SMartyn Welch 
8*4dcbccf7SDenis Zalevskiy struct vpd_cache;
9*4dcbccf7SDenis Zalevskiy 
10b418dfe1SMartyn Welch /*
11*4dcbccf7SDenis Zalevskiy  * Read VPD from given data, verify content, call callback for each vital
12*4dcbccf7SDenis Zalevskiy  * product data block.
13*4dcbccf7SDenis Zalevskiy  *
14*4dcbccf7SDenis Zalevskiy  * cache: structure used by process block to store VPD information
15*4dcbccf7SDenis Zalevskiy  * process_block: callback called for each VPD data block
16b418dfe1SMartyn Welch  *
17b418dfe1SMartyn Welch  * Returns Non-zero on error.  Negative numbers encode errno.
18b418dfe1SMartyn Welch  */
19*4dcbccf7SDenis Zalevskiy int read_vpd(struct vpd_cache *cache,
20*4dcbccf7SDenis Zalevskiy 	     int (*process_block)(struct vpd_cache *,
21*4dcbccf7SDenis Zalevskiy 				  u8 id, u8 version, u8 type,
22b418dfe1SMartyn Welch 				  size_t size, u8 const *data));
23